首页 新闻 搜索 专区 学院

android缓存问题

0
悬赏园豆:10 [已解决问题] 解决于 2015-08-19 09:30

  ListView绑定静态变量.运行时判断静态变量是否为空,如果为空才去再次查询赋值.

那么问题来了:在关闭应用再打开后发现ListView保留了关闭时的内容,数据又重新加载了一次,导致内容重复加载了.

 

这个现象就是listview保留了上次的内容,又重新加载了一次.这个缓存的效果还是很好的,不用每次都去加载了,那么怎么去判断是否有缓存,或者怎么清掉这些缓存?

 

初学android,

这么简单个问题还有点表述不清了...

 

 

问题补充:

或者说怎么去更好的利用这种缓存?

澈澈的主页 澈澈 | 菜鸟二级 | 园豆:435
提问于:2015-06-26 15:07
< >
分享
最佳答案
1

     静态变量不会自动归零,也就是说,一旦你的静态变量不为空,那么始终不为空。从你的问题中你本身应该并没有做缓存处理,你所说的“关闭应用”真的有彻底关闭吗??你应该是一个home键直接返回的手机主界面,再次点开应用(只要该Activity没有关闭),listview 本身自然不会自动清空;但是listveiw的适配器就会重新执行一次,而你的静态变量又不为空,自然会再次加载一次数据,数据就重复加载了。

收获园豆:4
雾海中的那粟光 | 初学一级 |园豆:114 | 2015-07-02 09:26
其他回答(2)
0

缓存不是这样用的,特别是静态变量不能随便用。建议将listView的对象集合保存到本地,数据庞大时用数据库

收获园豆:3
大哥惯过谁 | 园豆:207 (菜鸟二级) | 2015-07-06 10:38
0

为什么要用静态变量?目的何在?

收获园豆:3
毛豆先生^ω^ | 园豆:207 (菜鸟二级) | 2015-07-15 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册