Bitmap
クラスhas方法copy()
:不変のビットマップより高速で、変更可能なビットマップより速いですか?以下署名付き
public Bitmap copy(Bitmap.Config config, boolean isMutable)
は可変と不変Bitmap
間の性能の差はありますか?
Bitmap
クラスhas方法copy()
:不変のビットマップより高速で、変更可能なビットマップより速いですか?以下署名付き
public Bitmap copy(Bitmap.Config config, boolean isMutable)
は可変と不変Bitmap
間の性能の差はありますか?
Romain Guyはコメントで答え:
を元の質問に答えるために:いいえ、履行がないの 差。しかし、 ビットマップを変更することで実装できる最適化がいくつかあります。うまくいけば、将来のリリースで
アプリケーションレベルでは、不変の&可変ビットマップリソースの間には常に違いがあります。
常にリソースから不変のビットマップを取得します。必要に応じてビットマップを可変ビットマップに変換する必要があります。
ビットマップビットマップ= BitmapFactory.decodeResource(....); ビットマップmutableBitmap = immutableBitmap.copy(Bitmap.Config.ARGB_8888、true);
おそらく、このリファレンスではパフォーマンスの問題があるはずです。
2 downvotesとコメントはありませんか?本当に?ユーザーとしては、答えが事実上間違っているのか、投票者に混乱を与えているのか、または何らかの第三者のオプションがあるのかどうかはわかりません。 –
答えは事実上間違っています。 –
間違った答え。あなたが助ける前に知っておいてください。 –
パフォーマンスの違いはありません。これはアプリのパフォーマンスには影響しません。あなたは回転などのような任意のoprationを実行したい場合は、私はビットマップが変更可能であるべきだと思う...
私はそこに大きな違いがあると思います。 –
私はあまりにも驚くでしょうが、コード強化以外のものを選択するという機能的な理由は想像できません。つまり、コードを強化するので、通常は不変にする方がよいでしょう。イメージが決して変化しないという知識があるため、得られるパフォーマンスの向上は得られます。 – DeeV
不変のビットマップの理由は、それらがあなたのリソースを節約するからです(不変のビットマップを別の不変のビットマップにコピーすると、Cポインタは同じ場所を指しているので、実際のコピーは必要ありません)。しかし、他のことはあなたの質問と同じで、パフォーマンスの変更はありませんが、システムリソースを気にするならば、可能な限り不変のビットマップを使うべきです。私はRomain Guyがそれについての投稿を書いているのを覚えていますが、私はそれを見つけることができません。 – EyalBellisha