我制作了一个在咖啡机上运行的应用程序。
20 多天后(可能是 60 多天,具体取决于使用情况)
发生 OutOfMemoryError:
java.lang.OutOfMemoryError: Failed to allocate a 604 byte allocation with 16777216 free bytes and 319MB until OOM; failed due to fragmentation (required continguous free 65536 bytes for a new buffer where largest contiguous free 53248 bytes)
我的问题是:
有没有办法以编程方式对内存 Android 应用程序运行碎片整理?
所花费的时间应该不是问题,因为机器进入待机或经济模式。
我看到的是可用内存绰绰有余。
有没有办法以编程方式对内存 Android 应用程序运行碎片整理?
不会。在 Android 5.0-7.1 上,您能做的最好的事情就是退出前台,因为 ART 的垃圾收集器仅当您的应用程序位于后台时才会压缩内存。在 Android 8.0+ 上,即使您位于前台,ART 的垃圾收集器也会压缩内存。
除此之外,目标是每周开始一次新的过程或其他什么,这样你就会得到一堆新鲜的东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)