移动应用开发中如何做数据缓存

来源:互联网 发布:国内域名有哪些 编辑:程序博客网 时间:2024/05/16 05:12
随着移动互联网的发展,用户对App的性能、体验等各方面要求都有所增强,为了满足用户的需求,在移动平台中做数据缓存,来缩短App响应时间,提高App的响应效率显得尤为重要。良好的用户的体验,是建立在数据缓存之上的。
不管是iOS、Android还是windows phone,增加缓存模块的目的是要提高用户体验交互的,所以缓存的目的在于:
1、效率,缓存的目的是为了提高性能,不要因为缓存的原因反而降低了性能;
2、数据实时性,对于数据缓存的实时性,各种缓存的手机都有自己的策略,如通过设置过期时间、定时刷新等操作。

缓存的两种设计方式,针对iOS、Android与windows phone
1、采用单一过期时间的缓存策略进行缓存的实现
该种缓存的实现方式,是在每次用户操作时,检查本地缓存是否过期,如果过期,则重新向服务器端请求数据,如果未过期,则使用本地数据,同时可以将缓存过期时间、更新本地缓存以及清除本地缓存操作抛给用户,处理流程如下:



优缺点:
A、缓存更新策略单一、更新缓存方式统一,编程时易于控制,能够满足基本的客户端缓存操作。
B、在缓存时间内,无法及时更新数据


2、采用服务器主动通知客户端,缓存失效时间,此时客户端向服务器请求数据,客户端保存数据的策略实现
该种缓存实现方式,是在指定时间内或者在更新数据后,主动将消息推送到客户端,客户端收到消息过后,发起数据请求,获取数据

iOS中缓存的具体实现
1、将接收到的json数据或xml数据存储为文件;
2、将接收到的数据存储为plist文件;
3、将接收到的数据存储在NSUserDefaults中;
4、将接收到的数据存储在SQLite中

windows phone中缓存的具体实现
1、将接收到的数据存储在文件中;
2、将接收到的数据存储在IsolateStorage(应用程序独立存储空间)中;
3、将数据存储在SQLite中

Android中缓存的具体实现
1、将接收到的数据存储在文件中;
这种方法,使用File.lastModified()方法得到文件的最后修改时间,与当前时间判断是否过期,从而实现缓存效果。
实现上只能使用这一个属性,没有为其它的功能提供技术支持的可能。
操作上倒是简单,比较时间即可。本身处理也不容易带来其它问题,代价低廉。
2、将数据存储在SQLite中
   

0 0
原创粉丝点击