В моем приложении очень много изображений, поэтому мне нужно предоставить файлы расширения с моим APK. Я решил хранить все свои изображения в ZIP-файле и использовать zip библиотека, чтобы получить доступ к моим изображениям.
Моей первой интуицией было разархивировать все файлы при первом запуске приложения и сохранить их во внешнем каталоге приложения. Гид мягко подталкивает меня к другому подходу:
Чтение медиафайлов из ZIP
Если вы используете файлы расширения для хранения медиафайлов, ZIP-файл по-прежнему позволяет вам использовать вызовы воспроизведения медиафайлов Android, которые предоставляют элементы управления смещением и длиной (например, MediaPlayer.setDataSource() и SoundPool.load()). Чтобы это работало, вы не должны выполнять дополнительное сжатие медиафайлов при создании ZIP-пакетов.
Поэтому, я думаю, я просто получу входной поток из zip-файла, когда мне нужно, но я действительно не знаю, как долго я должен открывать этот zip-файл.
Предположим, у меня есть активность галереи с ViewPager
, которая показывает одно изображение на странице. Открывать ли ZIP-файл расширения в onCreate
и закрывать его в onDestroy
, или открывать и закрывать файл для каждого нового загружаемого изображения?