Android的内存消耗

问题描述:

我在我的@drawable目录中的许多照片,它们通过背景属性连接到XML布局:Android的内存消耗

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

我有很多的活动,所以,当活动被销毁(BACK是按下),堆没有被释放。所以,问题是:

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

+0

我敢打赌,如果你不使用资源,它永远不会被加载到内存中...... – Goz

+0

我知道这一点。但是当它被使用和加载时,当活动被破坏时,内存不会被释放。 – Adil

+0

看看我编辑的答案。 – user370305

我认为Android有一个own garbage collector,但proceed it its take sometimes而不是相关的momory作为对象未被使用。而且,当垃圾回收器需要拉屎时,需要使用bitmap is created its memory occupied in native heap

所以如果可能的话use dynamic Image loading,而不是静态的,并尝试使用自己的回收或释放您的位图的记忆。

编辑:

的GC()不处理所谓短暂的对象尽可能快 想。

保持视图对象的数量在一个稳定的级别*,并回收它们而不是销毁和创建新的。

罗马人的一个不错的帖子Avoiding memory leaks提到它。

如果我错了,请让我知道。请分享一些关于此的更多信息。

谢谢。