图片缓存的步骤:
1.从网络请求图片
2.把请求到的图片放在手机存储里,并加载到内存中,对应的key用url或者根据url编码得到的字符串
3. 当第二次加载这个图片的时候,首先用key去内存中找 是否有对应的图片已在内存中 , 如果没有,则用key去手机存储里找对应的图片
4.如果手机存储里也没有 则执行网络请求,并按照第一步的防止进行图片的缓存
多谢好友!
这就是三级 1 内存中寻找 2 手机存储寻找 3 网络请求(并缓存)
那么我们如何来判断什么时候应该网络请求来更新图片呢?
答:图片的改变,对应的文件名与地址必须改变。现在几乎所有图片缓存的框架都是根据url作为key的 , 所以url不变 想实现及时更新,用框架基本无法实现
比如 aaa.jpg,替换后是这样的aaa201603180947.jpg后面加了个时间戳,起到 提示前台 图片更新的作用。
那有人就问了,为什么不是两级呢?
答:如果是二级 也就没有了保存到手机存储的步骤,单单放到了内存中,这样,如果程序退出的话,这些内存便会释放掉 再次打开,需要重新请求
还有的人问为什么不直接保存到SD卡中呢?
答:sd卡就是手机存储哟 ,现在大部分手机都没sd卡
普及下 手机的基本知识:设置到内存 ,其实啊 就是 设置到手机内部存储,而我说的缓存到手机内存,就是指 手机的运行内存,简称运存或内存或RAM,这块设备断电会清空所有数据。
你看 手机配置不都说 4核cpu 3g内存 128g存储,3g就是运行内存 128g 就是个内置的sd卡的意思
![吐舌头](http://static.blog.csdn.net/xheditor/xheditor_emot/default/tongue.gif)