最近学 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 来套组合拳 |