Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
サイズがわずか 50 kb の 300 x 355 の画像があります。以下のコードでデコードしようとしています。
Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId) .copy(Bitmap.Config.ARGB_8888, true);
logcat によると、10674000 バイトが割り当てられようとしています。なぜそんなに多いのですか?画像はわずか 50 kb です。
300 x 355 = 106500 ピクセル。
ピクセルあたり 4 バイト、つまり 426KB であり、LogCat によって報告される割り当てに近くなります。
コード内の.copy()コマンドにより、メモリが 2 倍の 852KB になり、報告された 10.6MB にわずかに近づきます。
.copy()
あなたが報告した 50KB という数値は、おそらく .jpg または .png ファイルの圧縮サイズであり、BitmapAndroid で使用されている圧縮されていないサイズではありません。
Bitmap