【问题标题】:Where is stored the backing data of a bitmap in Android > 3.0?Android > 3.0 中位图的支持数据存储在哪里?
【发布时间】:2020-02-02 16:33:00
【问题描述】:

在 Android 的 cache bitmap docs. 中有:

此外,在 Android 3.0(API 级别 11)之前,位图的支持数据存储在本机内存中 (...)

那么在Android 3.0之后,位图的backing data是什么?

【问题讨论】:

  • 它是普通堆的一部分。
  • 谢谢,我找到了规格。关于那个! (在下面找到)

标签: android bitmap android-bitmap android-memory


【解决方案1】:

再挖掘一点后,我找到了the answer

为了为本课做准备,以下是 Android 位图内存管理的演变过程:

在 Android 2.2(API 级别 8)及更低版本上,当垃圾收集发生时,您的应用线程会停止。这会导致延迟,从而降低性能。 Android 2.3 增加了并发垃圾回收,这意味着在不再引用位图后很快就会回收内存。

在 Android 2.3.3(API 级别 10)及更低版本中,位图的支持像素数据存储在本机内存中。它与存储在 Dalvik 堆中的位图本身是分开的。本机内存中的像素数据不会以可预测的方式释放,可能会导致应用程序短暂超出其内存限制并崩溃。从 Android 3.0(API 级别 11)到 Android 7.1(API 级别 25),像素数据与关联的位图一起存储在 Dalvik 堆中。在 Android 8.0(API 级别 26)及更高版本中,位图像素数据存储在本机堆中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 2013-09-10
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    相关资源
    最近更新 更多