簡體   English   中英

Android位圖為每個像素分配16個BYTES

[英]Android bitmap allocating 16 BYTES per pixel

我有一個程序從資源文件中加載資源(通過在布局文件中設置android:src =“@ drawable / image”)。

圖像為800 x 1280像素。 程序運行時,它在堆上分配16,384,000個字節,每個像素為16個BYTES。

我認為它應該默認為RGB8888,每個像素只使用4個字節。 任何人都知道如何改變它以減少使用內存?

您的圖像可以存儲在不合適的文件夾中。 如果您在低分辨率文件夾中有高分辨率圖像,比方說,圖像是800 x 1280並且您將其存儲在drawable或drawable-hdpi中,Android會將它們縮放以匹配xhdpi(盡管它們已經在xhdpi中,所以說)。 縮放后的圖像占用更多內存。

解決方案,把它們放在drawable-xhdpi中。

您可以使用BitmapFactory,Options和inSampleSize導入它們以減少內存占用。

此外,這似乎是一個非常高的res圖像,以顯示在移動屏幕上,所以你也可以減小尺寸?

查看有關每像素字節數的文檔: http//developer.android.com/reference/android/graphics/Bitmap.Config.html

您可以嘗試使用Color.RGB_565,但圖像可能會丟失質量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM