现在android应用占内存一个比一个大,android程序的质量亟待提高。
这里简单说说网络图片的缓存,我这边就简单的说说思路
1:网络图片,无疑需要去下载图片,我们不需要每次都去下载。
维护一张表,表里面放url 对应 存储的文件名
实现方法就是先拿到要下载的url,拿这个url去数据库匹配,如果有这张图片,那就不需要重新去下载了,直接通过数据库,去拿到图片的位置,然后从本地把图片加载出来就OK了。没有这张图片的时候去下载一下,并且存一下数据库
好处:这么做的好处很明显,下载过的图片不需要重新去下载,也节约了本地的空间,下载多张同样的图片放本地也不是好事儿。
2:图片资源的内存处理,一张图片需要在多个地方显示,例如自己头像,需要在很多地方显示,不需要每个地方都去加载这张图片,这样会浪费很多资源。
实现方法,在内存里维护一个Bitmap的 MAP,key放url,value放这个Bitmap 我们拿到一个url,先看内存里是否有这张图片,有就直接从拿出来用。
好处 :bitmap是很占内存的,重用它可以节约很多内存,其次从本地加载图片也是需要消耗资源的,每张图片只要加载一次,这样是不是就好很多了呢。
做到这两点,图片这块的效率可以看到明显的多了很多,OOM神马的我就不说了,写这个希望大家对大家程序优化会有一些帮助,至于这个工具类有空的时候再写吧,网上也有不少,写这篇博客就还想看看能不能弄几个C币,最近挺忙,也没时间好好写博客,大致写个混混个C币,对大家应该也会是有些许帮助的