android图片的缓存--节约内存提高程序效率

如今android应用占内存一个比一个大,android程序的质量亟待提高。

这里简单说说网络图片的缓存,我这边就简单的说说思路


1:网络图片,无疑须要去下载图片,我们不须要每次都去下载。

维护一张表,表里面放url 相应 存储的文件名称

实现方法就是先拿到要下载的url,拿这个url去数据库匹配,假设有这张图片,那就不须要又一次去下载了,直接通过数据库,去拿到图片的位置。然后从本地把图片载入出来就OK了。没有这张图片的时候去下载一下。而且存一下数据库

优点:这么做的优点非常明显,下载过的图片不须要又一次去下载,也节约了本地的空间,下载多张相同的图片放本地也不是好事儿。


2:图片资源的内存处理,一张图片须要在多个地方显示,比如自己头像,须要在非常多地方显示。不须要每一个地方都去载入这张图片。这样会浪费非常多资源。

实现方法,在内存里维护一个Bitmap的 MAP,key放url,value放这个Bitmap   我们拿到一个url,先看内存里是否有这张图片。有就直接从拿出来用。

优点 :bitmap是非常占内存的,重用它能够节约非常多内存,其次从本地载入图片也是须要消耗资源的,每张图片仅仅要载入一次。这样是不是就好非常多了呢。


做到这两点。图片这块的效率能够看到明显的多了非常多,OOM神马的我就不说了,写这个希望大家对大家程序优化会有一些帮助,至于这个工具类有空的时候再写吧,网上也有不少,写这篇博客就还想看看能不能弄几个C币。近期挺忙,也没时间好好写博客,大致写个混混个C币,对大家应该也会是有些许帮助的


原文地址:https://www.cnblogs.com/zfyouxi/p/5400504.html