次の方法で共有


BitmapFactory.Options.InBitmap プロパティ

定義

設定した場合、Options オブジェクトを受け取るデコード メソッドは、コンテンツの読み込み時にこのビットマップの再利用を試みます。

[Android.Runtime.Register("inBitmap")]
public Android.Graphics.Bitmap InBitmap { get; set; }
[<Android.Runtime.Register("inBitmap")>]
member this.InBitmap : Android.Graphics.Bitmap with get, set

プロパティ値

属性

注釈

設定した場合、Options オブジェクトを受け取るデコード メソッドは、コンテンツの読み込み時にこのビットマップの再利用を試みます。 デコード操作でこのビットマップを使用できない場合、デコード メソッドは java.lang.IllegalArgumentException. 現在の実装では、再利用されたビットマップを変更可能にする必要があり、通常は不変のビットマップになるリソースをデコードする場合でも、結果として再利用されるビットマップは変更可能なままになります。</p>

上記の制約や発生する可能性のある障害の状況により、デコード メソッドの返されるビットマップを常に使用し、ビットマップの再利用が機能したとは想定しないでください。 戻り値が Options 構造体の inBitmap セットの値と一致するかどうかを確認すると、ビットマップが再利用されたかどうかを示しますが、いずれの場合もデコード関数によって返されるビットマップを使用して、デコード先として使用されたビットマップを使用していることを確認する必要があります。

<h3>BitmapFactory</h3 での使用>

現在、デコードされたビットマップのandroid.os.Build.VERSION_CODES#KITKAT結果Bitmap#getByteCount() byte countが再利用されたビットマップ以下Bitmap#getAllocationByteCount() allocated byte countである限り、変更可能なビットマップを再利用してBitmapFactory他のビットマップをデコードできます。 これは、組み込みサイズが小さいか、スケーリング後のサイズ (密度/サンプル サイズの場合) が小さいために発生する可能性があります。

<p class="note">追加の制約が android.os.Build.VERSION_CODES#KITKAT 適用される前に: デコードされるイメージは (リソースとして、またはストリームとして) jpeg または png 形式である必要があります。 等しいサイズのビットマップのみがサポートされ、 #inSampleSize 1 に設定されます。 また、再利用された android.graphics.Bitmap.Config configuration ビットマップの設定は、設定 #inPreferredConfigされている場合はオーバーライドされます。</p>

<h3>BitmapRegionDecoder</h3 での使用>

BitmapRegionDecoder は、指定されたビットマップに要求されたコンテンツを描画し、出力コンテンツ サイズ (スケーリング後) が指定されたビットマップより大きい場合はクリッピングします。 指定されたビットマップの幅、高さ、および Bitmap.Config 変更されません。

<p class="note">BitmapRegionDecoder support for #inBitmap was introduced in android.os.Build.VERSION_CODES#JELLY_BEAN. BitmapRegionDecoder でサポートされているすべての形式で、ビットマップの再利用がサポートされます #inBitmap

の Java ドキュメントandroid.graphics.BitmapFactory.Options.inBitmap

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象