gpt4 book ai didi

Android 5.0 不支持 BitmapFactory.Options inPurgeable

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:09 25 4
gpt4 key购买 nike

我正在学习 Facebookfresco 库。我看到使用 inPurgeable 选项在 ashmem 上存储位图非常棒。它让我们非常关心内存管理,但减少了 Davilk heap 上的 OutOfMemoryError。我想知道为什么Android 5.0 不继续支持BitmapFactory.Options inPurgeable
ART 有什么变化吗?
任何人都可以为我解释原因吗?提前致谢。

编辑
根据 Ed George 的回答:
为什么 Facebook 工程师从 Android 3.0 -> 4.4 开始仍然使用 inPurgeable?
他们是否为了性能可预测性而权衡 Dalvik 堆分配?

最佳答案

这在 Fresco 的 blog post 中得到了回答.请参阅“可清除位图”和“吃蛋糕”部分。如果您使用 Fresco,您将获得更快的性能和更少的 OOM,并且不会失去性能的可预测性。

请注意,虽然 Fresco 在管理位图内存方面也遇到了很多麻烦,但要非常小心以避免内存泄漏并尽快关闭位图。如果您尝试自己使用 NDK 而不是使用 Fresco,则需要同样小心。

Google 也可以构建类似 Fresco 的解决方案作为 Android API 的一部分,但他们选择不这样做。公平地说,Android 5.0 有许多改进,使位图分配比以前更轻松。像位图这样的大对象放在堆上单独的内存空间,单独进行垃圾回收,速度会快很多。所以也许他们觉得这就足够了。

关于Android 5.0 不支持 BitmapFactory.Options inPurgeable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30298081/

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