1. 首页
  2. 交互设计

APP缓存、加载与刷新(缓存机制)

APP缓存就是把已经加载过的数据保存在本地,在下次打开应用时,不需要重复向服务器请求数据,可以直接调取本地数据使用。本文将针对缓存进行详细说明。

APP缓存、加载与刷新(缓存机制)

为什么要加缓存

1、等待
在向服务器请求新的数据时。我们让用户看到什么?第一种是漂亮的等待加载页面;第二种是缓存的内容。对于第二种,用户可以对页面进行操作,等待新数据时可以查看旧数据,更具有“可操作性”与“可用性”,从而减轻了从服务器获取数据这一动作的大小和时间长短,增强了用户体验。另一方面,如果内容更新的间隔较长或者用户刷新的间隔较短,在没有缓存的情况下,很多数据我们会多次重复的向服务器获取,增加了成本。

2、结果
没有联网,或者在地铁上网络太差无法加载数据时,如果留给用户一个空白页面,体验感太差,对用户也不负责任。并且很多功能在没有联网的情况下也有使用的可能性,比如:APP中的通讯录,查看一些聊天记录,通知信息,文章列表等。因为用户打开APP不一定是要看新信息,说不定是回顾老信息(或许老信息里也有用户之前没看的),所以恰当的缓存可以满足更多的用户场景。

3、金钱
APP如果不加入缓存机制,每次打开都实时请求服务器数据,对于用户的流量是消耗巨大的,很容易丢失一些对流量敏感的用户,而增加缓存正是节省流量的一个方法。虽然节省的不多或者用户也察觉不到,但是作为一个有态度的产品经理,应该多做一些思考。

什么是缓存

1、定义
缓存就是把已经加载过的数据保存在本地,在下次打开应用时,不需要重复向服务器请求数据,可以直接调取本地数据使用。

2、缓存分类
APP缓存主要由固定缓存和临时缓存组成

2.1 临时缓存
临时缓存常用于一个功能页面内,保存各栏目的缓存。同一个功能里会把子功能分为多个栏目进行划分,每个标签栏目下的内容在本次使用中都可保存为临时缓存,在该功能里切换栏目,不需要重新加载数据,使用缓存显示。
对于用户来说,使用时达到了无缝切换浏览,对于服务器来说,在短时间内数据很少会有更新,所以在一般情况下能满足用户的正常需求,并达到体验优秀。
临时缓存的清理机制是:退出该功能模块就清除之前的缓存。也就是说下次进入该功能模块,需要重新获取一次数据。
多时候我们都会用到临时缓存,因为那些信息真的不是那么重要,而且不需要经常反复查看,那对于那些我们经常使用而且经常需要反复查看的信息,马海祥建议采取固定缓存,保存在本地,方便下次翻阅时不需要再一次向服务器请求数据了。

2.2 固定缓存
固定缓存可细分为“可手动清理缓存、不可手动清理缓存”。
可手动清理缓存是我们最常见的缓存,几乎所有产品都采用这种缓存方式。平时用户浏览文章、图集加载的数据就以这种形式缓存在本地,下次看回这篇文章、图集时就不需要加载了。用户也可以手动把这些缓存清理了,释放空间。
而对于某些特殊场景,例如一些相对固定的数据,我们不愿意一开始就打包进App里,这样会占太大容量,造成产品包很大,也不愿意每次进入页面都向服务器加载这些信息,那怎么办?建议的解决方法就是我们可以只加载一次就永远存在本地了,这样安装包也不会大,以后也不用加载了,这就是不可手动清理缓存。

如何清理缓存

1、手动清理缓存
APP在设计的时候,需要在“设置”里面提供一个清理缓存的功能,让用户能够手动一键清理,从而释放空间

2、自动清理缓存
上文已经讲到临时缓存的清理机制是:退出该功能模块就清除之前的缓存。那么对于固定缓存最好也要设计自动清理机制,可以通过以下两个维度来设计这个机制
2.1 时间
通过设定一个固定的时间,或者根据用户使用周期灵活设定时间来清理缓存,每个产品的场景不一,用户使用频率不一,设定这个机制的时间就需要结合实际情况考虑
2.2 容量
一般是设定一个容量上限,采用堆栈的设计原理进行缓存清理,溢出堆栈的旧数据将自动清除。

整理编辑:十月大神
文章来源:http://www.wtoutiao.com/p/120nwhp.html

本文由 @十月大神 原创发布于产品驿站,不代表产品驿站立场,如若转载,请注明出处:http://www.pmdak.com/home/archives/127

发表评论

登录后才能评论

联系我们