浅谈Android ListView 图片加速
浅谈Android ListView 图片加速
图片位于服务器端,每次请求都要重新获取,为了节约用户流量,请求的图片都先存于本地存储卡,下次需要先检查本地是否存在,不存在才向服务器请求。
ListView在滑动时,为了加快速度,设计了一种内存缓存模式,即浏览过的图片放于static 的ArrayList中,滑动再次需要时,先检查内存中的LIST,没有再检查本地存储卡,没有最后在请求服务器。
这种设想,要是图片资源在本地存储卡,确实没问题。但是图片在服务器,list就经常被gc回收,导致之前存的东西不在了。由于static 的ArrayList在其他类中,分明还要使用却被清空,考虑被gc回收。要是在服务器端(PC)java虚拟机应该不会这么干,但是android依赖这种static,尤其是在本界面(activity)之外的类的static的ArrayList,完全没法保证数据还存在,逻辑上以后还会使用,却会被清空。
索性,不依赖内存缓存,就做个本地存储卡缓存。
得出结论,Android并非常不适合应用于关键系统控制领域,尤其像我这种半路出家的,写的static不知何时被清空的,会导致系统非常不可靠,当然大神另当别论,但是大神又有多少?
浙公网安备 33010602011771号