BitmapFactory.Options.InPurgeable 属性

定义

注意

deprecated

此成员已弃用。

[Android.Runtime.Register("inPurgeable")]
[System.Obsolete("deprecated")]
public bool InPurgeable { get; set; }
[<Android.Runtime.Register("inPurgeable")>]
[<System.Obsolete("deprecated")>]
member this.InPurgeable : bool with get, set

属性值

属性

注解

此成员已弃用。 从此 android.os.Build.VERSION_CODES#LOLLIPOP起,将忽略此项。

android.os.Build.VERSION_CODES#KITKAT 和下方,如果设置为 true,则生成的位图将分配其像素,以便在系统需要回收内存时清除这些像素。 在该实例中,当需要再次访问像素(例如绘制位图时,调用 getPixels()时,它们将自动重新解码。

<p>若要重新解码,位图必须通过共享对输入的引用或通过创建其副本来访问编码的数据。 此区别由 inInputShareable 控制。 如果为 true,则位图可能会保留对输入的浅表引用。 如果为 false,则位图将显式创建输入数据的副本,并保留该副本。 即使允许共享,实现仍可能决定对输入数据进行深层复制。</p>

<p>虽然 inPurgeable 可以帮助避免大型 Dalvik 堆分配(从 API 级别 11 起),但它会牺牲性能可预测性,因为视图系统尝试绘制的任何图像都可能导致解码延迟,这可能会导致帧丢失。 因此,大多数应用应避免使用 inPurgeable 来允许快速流畅的 UI。 若要最大程度地减少 Dalvik 堆分配,请改用 #inBitmap 标志。</p>

<p class=“note”><strong>Note:</strong> This flag is ignored when used or #decodeResource(Resources, int, android.graphics.BitmapFactory.Options)#decodeFile(String, android.graphics.BitmapFactory.Options).</p>

适用于 . 的 android.graphics.BitmapFactory.Options.inPurgeableJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于