【问题标题】:Is this memory usage pattern ok in an android app?这种内存使用模式在 Android 应用程序中可以吗?
【发布时间】:2012-10-09 10:06:32
【问题描述】:

我一直在查看我的应用程序的内存使用情况。这就是我在 MAT 中看到的。

根据著名的google io视频,android的主要资源都很好。但是 7.5 MB 是不是太多了?剩下的是什么?

我的应用使用了近 35MB 的大堆,其中近 30MB 几乎总是满的。 GC_CONCURRENT 日志几乎总是显示为 9% 可用或 7% 可用。这正常吗?还是我在某处有内存泄漏?

【问题讨论】:

    标签: java android memory-leaks


    【解决方案1】:

    请阅读memory leak 是什么。在 android 中,内存泄漏意味着您创建一些对象并在对象尚未使用时保持指向它的链接。 (如果您没有任何指向对象的链接 - 它将由 GC 收集)因此,查看内存是否存在问题的最简单方法 - 长时间使用您的应用程序并查看分配的内存是否增加。如果总是有 X Mb - 并且没有增加 - 没关系,即使 X 很大。

    【讨论】:

    • 我有一个无限滚动的列表。当我开始时,它将大约是 25mb。但是当我继续滚动时,它会达到 40MB。滚动时我会存储很多位图和 json 数据。堆大小急剧增加可以吗?
    • 没有。如果您的用户滚动时间更长 - 他们将获得 OutOfMemoryException。你应该释放一些内存或禁止无限滚动
    猜你喜欢
    • 2013-10-09
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 2011-05-03
    • 2012-03-01
    • 2023-01-19
    相关资源
    最近更新 更多