[问题] 使用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