我試圖在https://stackoverflow.com/a/6779067/1236259線程hp.android答案,但我從來不活動的調用方法的onDestroyjava.lang.OutOfMemoryError:位圖大小超過VM預算列表視圖
我有圖像的ListView和我打電話其他活動方式:
ImageButton imageButtonSeeMap = (ImageButton)this.findViewById(R.id.imageButtonSeeMap);
imageButtonSeeMap.setOnClickListener(new OnClickListener() {....
從新的活動我再次調用ListView的活動在這一點I'm得到exeption:java.lang.OutOfMemoryError:位圖大小超過VM預算
的圖像該列表視圖被創建使用:
thumb_u = new URL(lp.get(i).getImage());
thumb_d = Drawable.createFromStream(thumb_u.openStream(), "src");
imageViewPoi.setImageDrawable(thumb_d);
如何釋放圖像的內存? onDestroy方法中的unbindDrawables從不被調用。
有什麼想法?
你可能無法處理具有同時開啓兩個列表。當視圖被回收時,您還需要確保在位圖上調用recycle()。另外這個:'new URL(lp.get(i).getImage()); ... thumb_u.openStream(),「src」);'是一個壞主意。您需要使用AsyncTasks,而不是下載「內聯」。 – dmon