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

2016-01-28 21:29:24 +08:00
 WenhaoWu

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

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

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

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

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

5.0 及其以上系统,相比之下,内存管理有了很大改进,所以 Bitmap 缓存直接位于 Java 的 heap 上
WenhaoWu
2016-01-29 16:09:27 +08:00
@kzaemrio 了解了,就是说其实在 4.4 上内存占用还是一样多,只不过用的是匿名内存,相当于跟系统共享内存,所以没有展示出来
WenhaoWu
2016-01-29 16:11:16 +08:00
@saberpowermo 不错,还可以跟 volley 来套组合拳

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

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

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

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

© 2021 V2EX