大家好
最近用了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 也須手動刪除?)
謝謝大家