gpt4 book ai didi

Android 堆大小和 SoftReferences

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:03 25 4
gpt4 key购买 nike

我有一个创建一系列位图的应用程序。我将这些位图保存在 SoftReferences 中,以避免内存不足。我希望堆大小在开始收集我的 SoftReferences 之前增长到最大 16MB。然而,SoftReferences 在堆增长到最大之前被非常急切地收集。有没有办法强制不那么急切地收集引用文献?还是手动将堆增长到最大值?可能是一种只分配 16mb 启动应用程序的方法?

最佳答案

目前无法修改 SoftReference 集合行为。

我不确定“手动将堆增长到最大值”是什么意思。

如果这些是 Bitmap 类的实例(与某些自定义位图实现相反),像素数据实际上存储在 native 堆中,但使用了令人讨厌的“外部分配”会计技巧,这使情况进一步复杂化。 (值得注意的是,存储是由终结器释放的,而不是 GC,并且终结器必须在 GC 完成后在单独的线程中执行。分配 Bitmap 直到内存用完是可能的,而 GC 无法释放抛出 OOM 错误之前的内存。)

关于Android 堆大小和 SoftReferences,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4337285/

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