Android 4.4 中支持 inBitmap 的 Fresco 库

Fresco lib supporting inBitmap in Android 4.4

"Android 3.0 (API level 11) introduces the BitmapFactory.Options.inBitmap field. If this option is set, decode methods that take the Options object will attempt to reuse an existing bitmap when loading content. This means that the bitmap's memory is reused, resulting in improved performance, and removing both memory allocation and de-allocation. However, there are certain restrictions with how inBitmap can be used. In particular, before Android 4.4 (API level 19), only equal sized bitmaps are supported."

我想知道为什么fresco 在Android 4.4 中不使用inBitmap,而在Android 5.0 中使用? 使用选项 inPurgeable 在 ashmem 上管理位图是否比在 Davilk 堆上使用选项 inBitmap 重用位图更有效?

谢谢。

是的,inPurgeable,使用特殊的 Android NDK 调用 Fresco,比 inBitmap 更有效。 Fresco 的 blog post 有完整的故事(请参阅 "Purgeable bitmaps" 部分及其后一节)。

不幸的是 Google 在 Android 5.0 中退出 inPurgeable,所以 Fresco 不得不退回到 inBitmap