android内存消耗

时间:2011-10-22 08:19:11

标签: android

我的@drawable目录中有许多图片通过background属性连接到xml布局:

<ImageButton android:background="@drawable/background1" ... />

我有很多活动,因此,当活动被销毁(按下BACK)时,堆不会被释放。所以,问题是:

android是否会将内存中的所有内容加载一次,并且只有在应用程序被销毁时才能使堆释放?在这种情况下如何防止内存消耗?只能通过图像压缩或动态加载背景和图像?

1 个答案:

答案 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引用它。

如果我错了,请告诉我。请分享更多相关信息。

感谢。