Я использую Universal Image Loader в своем приложении android. Моя текущая реализация упомянута ниже:
DisplayImageOptions options= new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.bank_default)
.showImageForEmptyUri(R.drawable.bank_default)
.showImageOnFail(R.drawable.bank_default)
.bitmapConfig(Bitmap.Config.ALPHA_8)
.cacheInMemory(false)
.cacheOnDisc(true)
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()).build();
ImageLoader.getInstance().init(config);
У меня было cacheInMemory как false и cacheOnDis c как истина, из-за которого у приложения была проблема с кэшированием, то есть несколько изображений были кэшированы, и лишь немногие загружались снова и снова.
Насколько я понимаю, по умолчанию размер кэширования приложения составляет 2 МБ, который упоминается здесь по этой ссылке ( Изображения не кэшируются локально (с помощью Universal Image Loader) - медленное время загрузки изображения ) и более того. cacheInMemory очищается после удаления приложения из стека. Таким образом, чтобы разрешить то же самое, я должен установить для cacheInMemory и cacheOnDis c значение true и увеличить его размер с помощью приведенного ниже кода.
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.diskCacheSize(8*1024*1024)
.memoryCacheSize(8*1024*1024)
.threadPoolSize(8)
.writeDebugLogs()
.build();
ImageLoader.getInstance().init(config);
Из этого я понял, что с этим кодом у меня увеличил размер кеша до 8 МБ. Теперь у меня есть 2 проблемы здесь
Первая проблема: Когда я параллельно даю размер диска 8 МБ и для диска, и для памяти, где происходит кэширование.
Вторая проблема: какая конфигурация является наилучшей для меня? Приложение имеет дело с большим количеством изображений.
Я прошу всех присутствующих помочь мне глубже понять это. Любая помощь будет оценена.