2 kimball1202 Kimball1202 于 2016.01.29 15:33 提问

android客户端资料如何高效更新?【没有C币了,只能不要脸地求求大家,额~】

现在在开发一个类似qq的APP,在获取好友列表时,我的方式是每次从服务器把所有的数据获取后,直接在客户端用listView显示出来。但是这样效率太低了,如果有1000条好友数据,岂不是每次都要获取这么多数据呀。之前为了解决这个问题,想着把这些数据先存到本地SQLLite,然后每次刷新的时候就直接从本地取值就好了。但是坑爹的这样问题又来了,如果好友修改了资料,这个时候服务器的数据就改了,按理说客户端相对应的好友数据也应该改变,但前提是好友的数据如果没有改变就不能重新发送到客户端,可是这怎么实现呀,这些数据是通过HttpClient的POST方式传递的。

4个回答

thirddata
thirddata   2016.01.29 15:40

好友资料加一个update_stamp, 先获取update_stamp,这个流量很小,如果跟本地一样,就不需要更新,如果不一样再更新。

rui888
rui888   Ds   Rxr 2016.01.29 16:09

你应该缓存数据,到时候只 修改已经更新的数据。

91program
91program   Ds   Rxr 2016.01.29 18:11

如果客户端是第一次登陆,当然好处理:全部更新;并在本地设置已经更新的标志,下次直接使用本地数据库。
这时如果服务器端更新了数据,比较资料更新的时间戳是否一样?如果不一样,则从服务器更新资料。更新前,可以先显示更新前的资料,以确保列表显示的速度。

crazy1235
crazy1235   Ds   Rxr 2016.01.31 20:32

一般都是把第一次加载的数据缓存。等到去第二次加载的时候去比较,如果与服务器的相同就不做更改,如果不同就下载最新的。(第二次先显示旧数据)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!