大家好
最近用了viewPager + FrameLayout 可以玩玩相簿,
但不断的出现OOM已经快疯掉了,
已经使用AsyncTask处理了大图片溢出的问题,
(BitmapFactory.Options options;
options.inSampleSize = 2;
......)
主要会有问题的地方,是当imageview.setImageBitmap(Bmp)后
,会暂存住bitmap,在PagerAdapter有提供
destroyItem(View container, int position, Object object)
让我recycle掉存在imageview里的bitmap
imageview.setImageDrawable(null);
if(oldBitmap !=null && !oldBitmap.isRecycled())
{
oldBitmap.recycle();
oldBitmap = null;
}
我以为这样已经可以将bitmap给清除干净,但是当换了多张图片后
,还是出现了oom的问题(Caused by: java.lang.OutOfMemoryError:
(Heap Size=98304KB, Allocated=91403KB),想请问各位,该如何解决呢?
(ps. 突然想到会不会有可能是,ViewPager 每滑动一次,所以新增一个view
所以除了删除旧有的bitmap 旧有的view 也须手动删除?)
谢谢大家