我使用的密度爲420 dpi,屏幕尺寸爲1080x1920像素的Nexus 5X仿真器。我將一個原始大小的位圖加載到ImageView中。在磁盤上,位圖的大小爲1.3 MB和1280x851像素。 我的ImageView尺寸是寬度:全屏,高度:全屏。我的圖像具有32位顏色深度=每像素4字節。我把內存中的預期大小計算爲1080x1920x4 = 8.29 MB。Android:內存中的位圖大小
當我運行我的代碼並加載我的圖像時,它在內存中的大小約爲30MB。這是什麼原因,以及如何調整我的計算,以得到正確的估計?我當然知道將縮小圖像加載到小容器中的方法,但我試圖弄清楚如何計算完整圖像的大小。
由於
「在磁盤上」 - 您的項目中是否有這個文件?或者您是否通過其他方式加載圖片(例如,從文件中,從網址中加載)? – CommonsWare
在可繪製文件夾內部。我知道最好避免繪製文件夾中的高分辨率圖像,但我試圖找到正確的計算。我通過setImageResource(resId) – Ozzz