我構建了一個具有6頁ViewPager的Android應用程序。對於每個頁面都有一個我使用的小圖片(不是背景,只是一個ImageView)。來自drawable資源的圖像png - >巨大的字節分配和OOM
這些圖像大約130KB。我注意到,這個活動開始時,我得到這樣一個消息:
02-09 21:23:58.755: I/dalvikvm-heap(6478): Grow heap (frag case) to 49.015MB for 2457616-byte allocation
玩了一會兒後,我也得到一個OOM異常。
我不明白爲什麼這樣大小的圖像在加載時需要很多空間。
有沒有人遇到過這樣的問題?任何解決方案
在此先感謝!
[UPDATE]
道歉不添加代碼:)
下面是我在ViewPager使用該片段的onCreateView:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.fragment_selection, container, false);
mSelectionImage = (ImageView) rootView
.findViewById(R.id.selection_image);
switch (mPageNumber) {
case 0:
mSelectionImage.setImageResource(R.drawable.img_sel_0);
break;
case 1:
mSelectionImage
.setImageResource(R.drawable.img_sel_1);
break;
case 2:
mSelectionImage.setImageResource(R.drawable.img_sel_2);
break;
case 3:
mSelectionImage
.setImageResource(R.drawable.img_sel_3);
break;
case 4:
mSelectionImage.setImageResource(R.drawable.img_sel_4);
break;
case 5:
mSelectionImage
.setImageResource(R.drawable.img_sel_5);
break;
default:
break;
}
return rootView;
}
這是很難理解的,沒有代碼 – 2013-02-09 21:38:06
圖像佔用的內存比按照png或jpg格式的大小顯示更多的內存,但最終你會被要求在三或兩個以下的註釋代碼,因爲它很難理解內存泄漏這樣的金額與六個130kb pngs ... – BIOHAZARD 2013-02-09 21:42:01
你確定你使用的圖像是小? – 2013-02-09 22:11:43