0

ImageView (android) に画像をロードしますが、メモリはどのように割り当てられますか?

また、割り当てられたメモリは 1D 配列か 2D 配列か? (おそらくピクセルの観点から)

また、画像処理にはどちらが BufferedImage と Bitmap のどちらが優れていますか?

PS - これの複製ではありません

4

1 に答える 1

0

は、表示するImageView画像にメモリを割り当てません。画像が割り当てます。おそらくBitmap. そして、それらはネイティブコンテキスト( some malloc)でメモリを割り当てるため、Javaのガベージコレクタは割り当てられたメモリをクリーンアップできず、注意しないと定期的に失敗します。

割り当てられたメモリはメモリの 1D ブロックであり、おそらくピクセルごとに行ごとに格納されます (2D アクセスは単純な計算です)。画像は非圧縮で保存されるため、100kb の .jpg ファイルは数 MB のデータを使用する場合があります。各ピクセルは最大 4 バイトを占めます (_8888 モードでは R、G、B、A)

の実際の実装 (割り当て) は、 skia - SkBitmapBitmapのどこかにある必要があります。

a が何であるかはわかりませんBufferedImageが、画像の操作に関する良い読み物は次のとおりです。

http://developer.android.com/training/displaying-bitmaps/index.html

于 2012-08-17T19:46:08.280 に答える