0

「Android 3.0 (API レベル 11) では、BitmapFactory.Options.inBitmap フィールドが導入されています。このオプションが設定されている場合、Options オブジェクトを受け取るデコード メソッドは、コンテンツをロードするときに既存のビットマップを再利用しようとします。これは、ビットマップのメモリが再利用されることを意味します。その結果、パフォーマンスが向上し、メモリの割り当てと割り当て解除の両方が削除されます。ただし、inBitmap の使用方法には特定の制限があります。特に、Android 4.4 (API レベル 19) より前では、等しいサイズのビットマップのみがサポートされています。"

Android 4.4 では inBitmap を使用しないのに、Android 5.0 ではなぜ fresco を使用しないのでしょうか。オプション inPurgeable を使用して ashmem でビットマップを管理することは、Davilk ヒープでオプション inBitmap を使用してビットマップを再利用するよりも効率的ですか?

ありがとう。

4

1 に答える 1

1

はい、inPurgeableFresco が作成する特別な Android NDK 呼び出しにより、 は よりも効率的ですinBitmap。Fresco のブログ投稿に全文があります (「パージ可能なビットマップ」のセクションとその次のセクションを参照してください)。

残念ながら、GoogleinPurgeableは Android 5.0 で廃止されたため、Fresco は にフォールバックする必要がありましたinBitmap

于 2015-05-29T11:44:46.557 に答える