我构建了一个具有 6 页 ViewPager 的 Android 应用程序。对于每个页面都有一个我使用的小图像(不是背景,仅用于 ImageView)。
这些图像每个大约 130KB。我注意到,当这个活动开始时,我会收到这样的消息:
02-09 21:23:58.755: I/dalvikvm-heap(6478): Grow heap (frag case) to 49.015MB for 2457616-byte allocation
玩了一会儿,我也得到了一个OOM异常。
我不明白为什么这样大小的图像在加载时会占用太多空间。
有没有人遇到过这样的问题?有什么解决办法吗?
提前致谢!
[更新]
抱歉没有添加代码:)
下面是我在 ViewPager 中使用的 Fragment 的 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;
}