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

关于 fresco 的正确用法,为啥内存占用这么多呢

  •  
  •   WenhaoWu · 2016-01-28 21:29:24 +08:00 · 13995 次点击
    这是一个创建于 3252 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近学 mvp 撸了个小 demo 用来下载每日必应壁纸,
    地址: https://github.com/WenhaoWu/BingWallpaper

    图省事所以直接用 fresco 来展示图片,但不解为何图片加载后内存占用其高,分分钟上 100MB 啊

    翻了翻文档 fresco 有个 pipe 应该自己会 GC 和优化内存的啊,求解答。
    顺便求 github star :)

    7 条回复    2016-01-29 16:11:16 +08:00
    naiyu
        1
    naiyu  
       2016-01-29 09:09:32 +08:00
    表示关注这个问题。我使用 fresco 的时候,有时候会出现 oom 的情况
    kzaemrio
        2
    kzaemrio  
       2016-01-29 09:58:28 +08:00
    换个 5.0 以下的手机试试看内存如何?
    WenhaoWu
        3
    WenhaoWu  
    OP
       2016-01-29 15:51:33 +08:00
    saberpowermo
        4
    saberpowermo  
       2016-01-29 15:57:05 +08:00
    试试 Glide. 感觉 Gilde 在内存管理上还是不错的
    kzaemrio
        5
    kzaemrio  
       2016-01-29 16:06:33 +08:00
    fresco 文档:

    在 5.0 以下系统, Bitmap 缓存位于 ashmem ,这样 Bitmap 对象的创建和释放将不会引发 GC ,更少的 GC 会使你的 APP 运行得更加流畅

    5.0 及其以上系统,相比之下,内存管理有了很大改进,所以 Bitmap 缓存直接位于 Java 的 heap 上
    WenhaoWu
        6
    WenhaoWu  
    OP
       2016-01-29 16:09:27 +08:00
    @kzaemrio 了解了,就是说其实在 4.4 上内存占用还是一样多,只不过用的是匿名内存,相当于跟系统共享内存,所以没有展示出来
    WenhaoWu
        7
    WenhaoWu  
    OP
       2016-01-29 16:11:16 +08:00
    @saberpowermo 不错,还可以跟 volley 来套组合拳
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1280 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:42 · PVG 01:42 · LAX 09:42 · JFK 12:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.