0
我有一个应用程序,我使用ViewPager并设置在每个页面“片段”的图像。ViewPager:位图大小超过VM预算
当我滚动视图寻呼机后图像25它给我的内存异常,但我删除图像,每次转到下一页。
检查下面的代码:
public void destroyItem(View collection, int position, Object view) {
Log.d("**", "remove image");
((ViewPager) collection).removeView((ImageView) view);
} //method: remove item from pager adapter
我试图代码从这里到删除的ImageView,但它并没有解决的问题:
private void unbindDrawables(View view) {
if (view.getBackground() != null) {
view.getBackground().setCallback(null);
}
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
unbindDrawables(((ViewGroup) view).getChildAt(i));
}
((ViewGroup) view).removeAllViews();
}
}
编辑:
下面的代码就能解决问题,但我想使用完整的图像大小,为什么它不是删除图像?
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2; //reduce image size