She*_*yan 11 android out-of-memory android-imageview android-viewpager
我在viewpager中显示150多个图像,当页面大小超过70应用程序崩溃,所有图像都从网络加载,我已经休闲[链接]:将图像加载到Bitmap对象时出现奇怪的内存不足问题
当页面滑动达到4时,我正在回收它,
70页应用程序需要200 MB的内存.
我需要你的帮助,如何处理它
我必须用刷卡显示所有页面...
我也使用过Runtime.getRuntime().gc();
如果应用程序内存达到50+ MB,则可以释放内存
提前致谢
小智 18
完整的解决方案可以在下面找到,重要的行是destroyItem方法中的那些:
private class ContentPagerAdapter extends PagerAdapter {
@Override
public void destroyItem(View collection, int position, Object o) {
View view = (View)o;
((ViewPager) collection).removeView(view);
view = null;
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public int getCount() {
return ids.length;
}
@Override
public Object instantiateItem(View context, int position) {
ImageView imageView = new ImageView(getApplicationContext());
imageView.findViewById(R.id.item_image);
imageView.setImageBitmap(BitmapFactory.decodeResource(getResources(), ids[position]));
((ViewPager) context).addView(imageView);
return imageView;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==((ImageView)object);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19537 次 |
| 最近记录: |