[問題] 使用Glide載入大圖 memory的問題(已解)

作者: wvwvwvwvwv (殺死丁力這個雜碎a~)   2018-12-13 15:53:30
手邊有一張 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左右而已
至於為什麼會這樣 只能晚點再去了解為什麼了
作者: starburs (星爆氣流斬)   2018-12-13 17:46:00
resize?
作者: zcbxvsdf (東北一頭羊)   2018-12-13 19:58:00
ContextCompat.getDrawable是原生的加載方式,所以加載完才丟給Glide,第二個是指定id給Glide,Glide加載時就會處理。

Links booklink

Contact Us: admin [ a t ] ucptt.com