gpt4 book ai didi

android - 堆内存分配是如何工作的

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:36 26 4
gpt4 key购买 nike

我正在开发一个应用,我有内存问题。开始研究这个东西,接触了Eclipse的调试系统。

我使用 DDMS 的堆测试器 来查看我的应用分配了多少内存。我看到它大约是 90%。

现在我制作了一个简单的新项目,一个空白的 Activity ,没有任何函数或变量。只是一个出色的新项目。

运行了这个堆测试器,我看到了结果:

Heap size: 10,629 MB  
Allocated: 9,189 MB
Free: 1,440 MB
Used: 86.45 %
Objects: 44,565

嗯,这正常吗?我有一个非常简单的空白 Activity ,没有别的,这个应用程序使用了 86% 的内存?

已分配 9 MB of 10?真的吗?那是正常的吗?这是如何工作的?

请指导我这方面的知识,因为我想知道这些内存分配是如何工作的。

最佳答案

Dalvik 最初会为您的应用程序分配一定的堆大小。在您的情况下,这大约是 10 MB。当您的应用程序需要更多内存时,Dalvik 会将堆大小增加到最大配置大小(不同设备的大小不同)。如果您的应用在达到最大值后仍需要更多内存,则会导致 OutOfMemoryException

要了解更多关于分析 Android 内存分配的信息,请查看 Android 开发者博客中的这篇优秀文章:

http://android-developers.blogspot.in/2011/03/memory-analysis-for-android.html

关于android - 堆内存分配是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20654686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com