Вам нужно придумать систему, похожую на таблицу.
Если вы посмотрите на них, все ячейки не загружаются одновременно; вы можете испытать это, если вы загрузите приложение с помощью таблицы, а затем установите точку останова в cellforrow, и вы увидите, что он вызывается, когда вы начинаете прокрутку.
Поскольку все ячейки не загружаются одновременно.
Вам нужна аналогичная логика с вашими изображениями; вы НИКОГДА не загружаете все сразу. И если у вас есть причина, то я настоятельно рекомендую загрузить их миниатюру (на самом деле их некачественная версия, например, для просмотра всех ваших изображений в виде сетки).
Для этого вам необходимо знать, какие фотографии должны быть видимыми, и какие фотографии, вероятно, скоро появятся. Для небольших чисел предположим, что у вас всего 10 снимков (вместо 1000).
Пользователь загружает приложение и может видеть изображения 1 и 2 на экране. Вы, очевидно, загрузите их сразу, а также картинку 3 и, скорее всего, картинку 4 (просто убедитесь). Когда он прокручивается, вы ЗНАЕТЕ, что он прокручивает и вам нужен метод, который читает эту прокрутку для динамического выделения правильных изображений. Вы сначала удалите изображение 1 (потому что его первый уйдет) и начните загружать снимок 5.
Таким образом, вместо того, чтобы загружать 1000 изображений, у вас есть только до 5 (в зависимости от размера).
Действительно хороший пример - приложение 9gag, которое загружает изображения прямо под экраном, что означает, что к тому моменту, когда вы читаете первый кляп, следующий уже загружен. «Единственный» способ увидеть загрузку - это прокрутить бит быстрее или иметь плохое соединение.
Эта логика является для меня самым надежным и эффективным способом загрузки большого количества данных, более того, это фотографии или что-то еще.
Использование таких вещей, как кеш, массивы, прокрутки (ы) и, возможно, файлы (в зависимости от вашего приложения) - хорошая отправная точка.
Не зная больше информации, я бы предположить, что вы бежите из памяти и система убивает ваше приложение. Если у вас есть 1000 фотографий, вам необходимо кэшировать их и выпускать их правильно. Если появляется предупреждение о сохранении памяти, просто очистите все кэшированные изображения, чтобы предотвратить сбой приложения. – Jonathan