ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.threadPoolSize(3)
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new UsingFreqLimitedMemoryCache(30 * 1024 * 1024))
.discCacheFileCount(100)
.discCacheSize(50 * 1024 * 1024)
.discCache(new UnlimitedDiscCache(createCacheDir()))
.tasksProcessingOrder(QueueProcessingType.LIFO)
.writeDebugLogs()
.build();
ImageLoader.getInstance().init(config);
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.default_small)
.showImageForEmptyUri(R.drawable.default_small)
.showImageOnFail(R.drawable.default_small)
.cacheInMemory(true)
.cacheOnDisc(true)
.imageScaleType(ImageScaleType.IN_SAMPLE_INT)
.bitmapConfig(Config.RGB_565)
.build();
@Override
public void onBackPressed() {
AnimateFirstDisplayListener a = new AnimateFirstDisplayListener();
List<String> list = a.displayedImages;
for (int i = 0; i < list.size(); i++) {
MemoryCacheUtil.removeFromCache(list.get(i),imageLoader.getMemoryCache());
}
imageLoader.clearMemoryCache();
imageLoader.clearDiscCache();
AnimateFirstDisplayListener.clearUrl();
super.onBackPressed();
}
onbackpress这个方法没用了
答案 0 :(得分:0)
您是否尝试使用Usefull info section中的信息?
您还应该尝试使用
ImageScaleType.IN_SAMPLE_POWER_OF_2
BitmapFactory会自动将ImageScaleType.IN_SAMPLE_INT向下舍入为2的幂。
在这种情况下,如果UIL库计算所需的比例为3,则图像将仅缩放2,从而导致可能的OOM错误。