我的@drawable目录中有许多图片通过background属性连接到xml布局:
即
<ImageButton android:background="@drawable/background1" ... />
我有很多活动,因此,当活动被销毁(按下BACK)时,堆不会被释放。所以,问题是:
android是否会将内存中的所有内容加载一次,并且只有在应用程序被销毁时才能使堆释放?在这种情况下如何防止内存消耗?只能通过图像压缩或动态加载背景和图像?
答案 0 :(得分:1)
我认为Android有一个own garbage collector
,但对于proceed it its take sometimes
而不是相关的,因为该对象未被使用。当bitmap is created its memory occupied in native heap
和堆垃圾收集器变得迟钝时。
因此,如果可能use dynamic Image loading
而不是静态,请尝试使用您自己的回收站或释放位图的内存。
编辑:
gc()不会像我们一样快地处理所谓的短期对象 我想。
将视图对象的数量保持在稳定水平*,然后回收它们而不是销毁和创建新视图对象。
Roman Guys的一篇不错的帖子Avoiding memory leaks引用它。
如果我错了,请告诉我。请分享更多相关信息。
感谢。