gpt4 book ai didi

android - Android 中的 "NativeHeapAllocatedSize"和 "Runtime totalMemory"之间应该有什么区别以防止 "OutOfmemory Exception"?

转载 作者:行者123 更新时间:2023-11-30 04:40:05 24 4
gpt4 key购买 nike

你好我正在做一些运行时计算以在运行时获取 NativeHeap 内存和分配的内存,所以任何人都可以建议我

“Debug.getNativeHeapAllocatedSize()”和“Runtime.getRuntime().totalMemory()”之间应该有什么区别

因此可以通过内存不足异常阻止应用程序。

谢谢

最佳答案

Runtime.getRuntime().totalMemory()

返回运行程序可用的内存总量。

getNativeHeapAllocatedSize()

对于低于 HoneyComb 的设备,大部分巨大的分配都被推迟到 native 堆(例如位图)。因此,此 api 可用于找出分配了多少 native 堆。

当没有对象可以被 DVM 释放时,就会发生 OOM 错误。通常,您在堆中有大约 16MB 的空间可以玩(对于标准手机)。检查your logs*查看包含有关分配了多少内存的信息的 GC 语句。

我认为不应该有一个固定的比率来导致 OOM 错误。就像加载非常大的位图的情况一样,这里使用的 native 内存很大。

  • 幻灯片 25

关于android - Android 中的 "NativeHeapAllocatedSize"和 "Runtime totalMemory"之间应该有什么区别以防止 "OutOfmemory Exception"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6136806/

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