关于 Fresco 加载图片卡顿的问题

2020-01-07 13:44:53 +08:00
 daimaosix

按照这个文档: https://www.fresco-cn.org/docs/getting-started.html 处理了一下,文档写的倒是挺简单的,但是集成之后页面非常卡,加载一行图片都很卡,不知道有没有 V 友遇到过这种情况。

10219 次点击
所在节点    Android
5 条回复
yaocai321
2020-01-07 16:28:50 +08:00
图片分辨率太大了吧,resize 试下~
https://www.fresco-cn.org/docs/resizing-rotating.html
daimaosix
2020-01-07 20:38:42 +08:00
@yaocai321 对的,分辨率确实不小,大多都在宽 1500+,高 2000+左右,但是 resize 之后的加载不如没有 resize 流畅舒服呢,这种情况下是不是可以输出小尺寸的图片会改善这种状况呢?
Wowjik
2020-01-18 20:13:10 +08:00
有解决这个问题吗朋友。我是 feed 流全部是图片的时候,总频繁 GC 导致卡顿。偶尔还会 OOM
daimaosix
2020-01-18 22:44:48 +08:00
@Wowjik 我也是这个问题....没时间研究了,自己写了
yaocai321
2020-01-20 13:25:53 +08:00
@daimaosix 很久没上了
首先你要明白在 android 中一张图片占用内存大小的计算方式,分辨率那么大肯定加载卡顿了。
解决方案
1. ImagePipelineConfig 设置 Bitmap.Config.RGB_565
2. ImageRequest 中 resize 图片大小
3. 针对 2 可能影响加载速度,可以在 ImagePipelineConfig 中设置 setDownsampleEnabled
4. 针对 2,一般现在的云存储都支持指定图片大小,可以在看下文档,在满足条件的情况下,指定图片大小。(就是在连接后面拼接参数,形如?width=300&height=200)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/635767

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX