【发布时间】:2012-05-13 12:51:53
【问题描述】:
我的 Kindle Fire 应用程序上有一个ViewPager,每页 Activity 增加了大约 30 次浏览。一旦添加位图,就没有对位图的引用(本地语句块关闭后变量会丢失)。
当父视图被删除时,回收所有位图的最简单方法是什么?我需要这样做,因为在刷了几页之后,我的应用程序关闭了,因为没有更多的内存可以分配,因为显然未回收的位图不会释放它们的内存。
想法?
【问题讨论】:
-
使用 'destroyItem' 从您的
ViewPager中删除项目。 -
@Herry 我已经在这样做了,但是看着它像位图数据一样接缝的分配永远不会被释放。我发现除非您对图像进行回收,否则数据不会被释放。这听起来准确吗?
-
已经使用一些列表视图保存图像对象,如
Bitmap或Drawable。如果图像很大,那么你需要使用回收。 -
follow to load image in
ViewPagerfrom this stackoverflow.com/questions/477572/… -
位图大约为 10.5k 一张,每个“页面”上有 25-30 张。在 8 页之后,大约有 2.1-2.5 mb 的空间被吸收。我的应用程序只有在我多次滑动时才会崩溃。有没有办法对从屏幕上删除的图像进行回收?
标签: android memory-management bitmap viewgroup recycle