作者wvwvwvwvwv (殺死丁力這個雜碎a~)
看板AndroidDev
標題[問題] 使用Glide載入大圖 memory的問題
時間Thu Dec 13 15:53:30 2018
手邊有一張 1440x2560 容量1.34MB的螢幕截圖
Layout部分就一個按鈕 + imageview
今天把圖片放在drawable,用
Glide.with(testActivity.this)
.load(ContextCompat.getDrawable(testActivity.this,R.drawable.fullscreen))
.into(imageView);
去顯示圖片
執行後發現imageview的大小不管是 match_parent(1080p的螢幕) 或是 300px x 300px
都是吃100MB左右的memory
後來也改過Glide許多參數
asDrawable
override(width,height)
thumthail
編碼改PREFER_RGB_565
都一樣會吃到110MB的memory
Glide版本是4.8.0
請問大家是哪邊出了問題呢?
發完文後就自己找到答案了XD
關鍵在load()這邊
如果是這樣
load(ContextCompat.getDrawable(..)) 就會吃100MB的memory
load(R.drawable.id) 如果是這樣memory就只花費20MB左右而已
至於為什麼會這樣 只能晚點再去了解為什麼了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.105.244
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1544687613.A.BDF.html
※ 編輯: wvwvwvwvwv (114.27.105.244), 12/13/2018 16:59:22
1F:→ starburs: resize? 12/13 17:46
2F:推 zcbxvsdf: ContextCompat.getDrawable是原生的加載方式,所以加載 12/13 19:58
3F:→ zcbxvsdf: 完才丟給Glide,第二個是指定id給Glide,Glide加載時就會 12/13 19:58
4F:→ zcbxvsdf: 處理。 12/13 19:58