V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daimaosix
V2EX  ›  Android

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

  •  
  •   daimaosix · 2020-01-07 13:44:53 +08:00 · 9386 次点击
    这是一个创建于 1784 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2020-01-20 13:25:53 +08:00
    yaocai321
        1
    yaocai321  
       2020-01-07 16:28:50 +08:00
    图片分辨率太大了吧,resize 试下~
    https://www.fresco-cn.org/docs/resizing-rotating.html
    daimaosix
        2
    daimaosix  
    OP
       2020-01-07 20:38:42 +08:00
    @yaocai321 对的,分辨率确实不小,大多都在宽 1500+,高 2000+左右,但是 resize 之后的加载不如没有 resize 流畅舒服呢,这种情况下是不是可以输出小尺寸的图片会改善这种状况呢?
    Wowjik
        3
    Wowjik  
       2020-01-18 20:13:10 +08:00
    有解决这个问题吗朋友。我是 feed 流全部是图片的时候,总频繁 GC 导致卡顿。偶尔还会 OOM
    daimaosix
        4
    daimaosix  
    OP
       2020-01-18 22:44:48 +08:00
    @Wowjik 我也是这个问题....没时间研究了,自己写了
    yaocai321
        5
    yaocai321  
       2020-01-20 13:25:53 +08:00   ❤️ 1
    @daimaosix 很久没上了
    首先你要明白在 android 中一张图片占用内存大小的计算方式,分辨率那么大肯定加载卡顿了。
    解决方案
    1. ImagePipelineConfig 设置 Bitmap.Config.RGB_565
    2. ImageRequest 中 resize 图片大小
    3. 针对 2 可能影响加载速度,可以在 ImagePipelineConfig 中设置 setDownsampleEnabled
    4. 针对 2,一般现在的云存储都支持指定图片大小,可以在看下文档,在满足条件的情况下,指定图片大小。(就是在连接后面拼接参数,形如?width=300&height=200)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1797 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 16:38 · PVG 00:38 · LAX 08:38 · JFK 11:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.