最近学 mvp 撸了个小 demo 用来下载每日必应壁纸,
地址: https://github.com/WenhaoWu/BingWallpaper
图省事所以直接用 fresco 来展示图片,但不解为何图片加载后内存占用其高,分分钟上 100MB 啊
翻了翻文档 fresco 有个 pipe 应该自己会 GC 和优化内存的啊,求解答。
顺便求 github star :)
1
naiyu 2016-01-29 09:09:32 +08:00
表示关注这个问题。我使用 fresco 的时候,有时候会出现 oom 的情况
|
2
kzaemrio 2016-01-29 09:58:28 +08:00
换个 5.0 以下的手机试试看内存如何?
|
3
WenhaoWu OP @kzaemrio 神奇了, 4.4 的手机内存占用少很多啊,到底是怎么回事??
4.4 内存图片: https://raw.githubusercontent.com/WenhaoWu/BingWallpaper/master/Demo_Pics/memory4_4.png 5.0 内存图片: https://raw.githubusercontent.com/WenhaoWu/BingWallpaper/master/Demo_Pics/memory5_0.png |
4
saberpowermo 2016-01-29 15:57:05 +08:00
试试 Glide. 感觉 Gilde 在内存管理上还是不错的
|
5
kzaemrio 2016-01-29 16:06:33 +08:00
fresco 文档:
在 5.0 以下系统, Bitmap 缓存位于 ashmem ,这样 Bitmap 对象的创建和释放将不会引发 GC ,更少的 GC 会使你的 APP 运行得更加流畅 5.0 及其以上系统,相比之下,内存管理有了很大改进,所以 Bitmap 缓存直接位于 Java 的 heap 上 |
6
WenhaoWu OP @kzaemrio 了解了,就是说其实在 4.4 上内存占用还是一样多,只不过用的是匿名内存,相当于跟系统共享内存,所以没有展示出来
|
7
WenhaoWu OP @saberpowermo 不错,还可以跟 volley 来套组合拳
|