gpt4 book ai didi

Android - 出于测试目的将堆大小限制为 16MB?

转载 作者:搜寻专家 更新时间:2023-11-01 09:47:17 24 4
gpt4 key购买 nike

我创建了一个 Android 应用程序,现在我想确保它的堆使用量永远不会超过 16MB。

不幸的是,对于这项任务,我的设备有一个比最小值 16MB 大得多的堆,它至少有 32MB。

当我跟踪分配时,它只是不断地分配和分配,很少进行垃圾收集,这使得很难跟踪内存泄漏。

我尝试过使用各种分析器,但这并不容易。

最好我想在 Activity 之间来回切换,只看到堆上升然后下降,这样就没有内存泄漏,但是由于垃圾收集被推迟到真正需要它时,这似乎很难做到。

是否可以出于测试目的在 32MB 堆大小的设备上将堆大小限制为 16MB?

最佳答案

执行此操作的最佳方法是使用 Android 虚拟设备,因为您可以在 Android 模拟器中配置堆大小。创建AVD时在高级选项里面。

但是,如果您必须在真实设备上对此进行测试,您可以通过在启动时创建堆内存的内存泄漏来模拟具有较小的堆。确保你对你分配的对象保持强引用,这样它就不会被垃圾回收。

在具有 32MB 堆大小的设备上,如果您在启动时创建 16MB 泄漏,这将为您的应用程序留下剩余的 16MB 堆空间。

关于Android - 出于测试目的将堆大小限制为 16MB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37492786/

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