android回收视图删除视图中的所有位图

时间:2012-05-04 00:03:57

标签: android memory-management bitmap viewgroup recycle

我的Kindle Fire应用上有一个ViewPager,每页Activity增加约30个观看次数。一旦添加了位图,就没有引用(在本地语句块关闭后,vars会丢失)。

删除父视图时,回收所有位图的最简单方法是什么?我需要这样做,因为在刷了几页后,我的应用程序关闭了,因为没有更多的内存要分配,因为显然非回收的位图不会释放它们的内存。

思想?

1 个答案:

答案 0 :(得分:5)

你说你在应用程序中使用了Viewpager,然后确保你在下面的方法中使用了PagerAdapter适配器。

@Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            // TODO Auto-generated method stub
            ((ViewPager)container).removeView((View)object);
        }

此方法删除当前屏幕和此方法中未显示的页面

@Override
        public Object instantiateItem(ViewGroup container, int position) {
}

在这个方法中高效地加载Image,为此你可以参考android开发者网站。displaying bitmaps