Android 图片库对比
对比条件:
- 仅对比加载 测试服务器中 零食 商品列表 页
- 每次测试都清除 应用所有数据
BitmapUtils
- 最大内存占用:60+ (由于挂得太快,只滑了4页,内存只占到这么多就崩溃了)
- 卡顿情况:快速滑动4页左右直接卡死
- 是否崩溃:卡死后,点击屏幕崩溃
ImageLoader
- 最大内存占用:110+(在加载完整个页面的图片后稳定在110左右,快速滑动也不会再增加)
- 卡顿情况:加载新的图片时略有卡顿
- 是否崩溃:无崩溃
Picasso
- 最大内存占用:210+(在加载完整个页面的图片后稳定在210左右,快速滑动也不会再增加)
- 卡顿情况:卡顿情况与imageLoader比稍差一些
- 是否崩溃:无崩溃
Glide
- 最大内存占用:125+(在加载完整个页面的图片后稳定在210左右,快速滑动也不会再增加)
- 卡顿情况:卡顿情况与picasso比稍差一些
- 是否崩溃:无崩溃
fresco
- 最大内存占用:170+(由于在华为P7 上无法正确加载图片,所以在mi4上进行的测试,数据不具可比性)
- 卡顿情况:即使在加载图片时也很流畅
- 是否崩溃:无崩溃
各加载库 功能对比
| 内存占用 | 卡顿情况 | 包大小 | 自定义配置丰富程度 | GitHub的watch/Start数 | |
|---|---|---|---|---|---|
| BitmapUtils(XUtils) | 1(崩溃了) | 1(崩溃了) | 无法确定 | 1 | 634/4484(xUtils) |
| ImageLoader | 5 | 4 | 3(158k) | 3 | 1465/13903 |
| Picasso | 2 | 3 | 4(118k) | 2 | 880/11155 |
| Glide | 4 | 3 | 2(464k) | 4 | 667/10341 |
| fresco | 3 | 5 | 1(约1.38m) | 5 | 899/10304 |