前言:之前项目一直使用Universal-Image-Loader图片加载框架,毕竟算是github上最火的图片加载框架之一,而且用到该框架的比较大的应用也不少,所以挺放心的。
这两天,项目经理发现项目加载图片时内存会爆增,而且有时还报OOM,(一个坑爹手机,其实是不是这个框架报错还有待考察)之后就一直找原因,官方上面也有介绍,以下是原文:
If you often got OutOfMemoryError in your app using Universal Image Loader then try next (all of them or several):
Reduce thread pool size in configuration (.threadPoolSize(...)). 1 - 5 is recommended.
Use .bitmapConfig(Bitmap.Config.RGB_565) in display options. Bitmaps in RGB_565 consume 2 times less memory than in ARGB_8888.
Use .memoryCache(new WeakMemoryCache()) in configuration or disable caching in memory at all in display options (don't call .cacheInMemory()).
Use .imageScaleType(ImageScaleType.IN_SAMPLE_INT) in display options. Or try .imageScaleType(ImageScaleType.EXACTLY).
介绍了一些方法减少内存使用,比如修改配置信息、显示选项等。加上去以后,内存的使用好像有一点变化,不过也不大明显。另外还设置了支持largeHeap,OOM也不再报。
其实也测试过一些配置比较低的手机上,根本不会出现OOM,内存也不会占用高,并且查看很流畅。
怎么说呢,其实加载图片内存变大,这不都很正常吗?说句心里话吧,其实内存占用跟性能是同时存在,内存换性能,换来体验。
内存高点也正常,只要不报OOM就可以了,JVM 的 GC机制还没有到那么垃圾的地步!
(注:那坑爹手机配置不低)
分享到:
相关推荐
Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置),易懂易用。
universal-image-loader 针对https引用了自签名证书,解决图片加载不出。
universal-image-loader-1.9.3-with-sources.jar 修改线程类型,加快图片加载速度,解决list滑动加载卡顿
Android-Universal-Image-Loader使用详解
Android-Universal-Image-Loader的示例。 效果 http://blog.csdn.net/wwj_748/article/details/10079311
universal-image-loader-1.9.5.jar,universal-image-loader-demo.rar,Android-Universal-Image-Loader-master.zip,Android Universal Image Loader 源码分析.doc
Android-Universal-Image-Loader
universal-image-loader-1.9.5-sources.jar
图片缓存框架Android-Universal-Image-Loader
Android-Universal-Image-Loader jar包
Android-Universal-Image-Loader-1.9.5,安卓图片加载框架
来自俄罗斯的异步图片加载缓存 Android-Universal-Image-Loader 图片缓存Android-Universal-Image-Loader-master
Android-Universal-Image-Loader官方的Demo和jar包,原Demo图片URL不能访问,已经被我替换成可以访问的URL
universal-image-loader-1.9.5.jar
Android-Universal-Image-Loader开源项目的简要说明及使用实例
使用很广的开源图片下载框架,具体使用方法百度一下universal-image-loader很多。
这个是图片加载的依赖包 大家可以随时下载 中间还加了V4包
Universal-Image-Loader demo 有全面的注释
开源框架universal-image-loader使用的包—1.9.0