最近更新了inPurgable的android平台指南,现在建议不要使用inPurgable标志。
我们曾经使用inPurgable和inInputSharable设置(在字节数组上)解码字节数组。我已经尝试将其迁移到使用inBitmap,并且它可以工作,但我们运行的OOM比以前多得多。
我尝试过这样做的实验(在inBitmap代码中,当我们找不到用于inBitmap的图片并需要创建一个新图片时):
try {
bitmap = Bitmap.createBitmap(targetOptions.outWidth, targetOptions.outHeight, decodeConfig);
} catch (OutOfMemoryException e) {
lruCache.clear();
bitmap = Bitmap.createBitmap(targetOptions.outWidth, targetOptions.outHeight, decodeConfig);
}
它不起作用,包括当lrucache中有位图时,这让我很困惑。
使用inPurgable设置GC会在内存压力下释放对位图的引用,何时在不使用inPurgable时释放位图内存?