ImageView (android) に画像をロードしますが、メモリはどのように割り当てられますか?
また、割り当てられたメモリは 1D 配列か 2D 配列か? (おそらくピクセルの観点から)
また、画像処理にはどちらが BufferedImage と Bitmap のどちらが優れていますか?
PS - これの複製ではありません。
ImageView (android) に画像をロードしますが、メモリはどのように割り当てられますか?
また、割り当てられたメモリは 1D 配列か 2D 配列か? (おそらくピクセルの観点から)
また、画像処理にはどちらが BufferedImage と Bitmap のどちらが優れていますか?
PS - これの複製ではありません。
は、表示する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