之前项目中在展示用户数据的时候都是先直接从网络获取,然后再展示,之所以这样做而不将用户数据存储到本地再展示的原因是当时考虑到如果用户在其他设备上对该用户的数据进行了修改那么原来设备上用户信息的展示就会出错,还是从网络获取的数据可靠。(存储到本地同样能正确展示用户数据,只怪自己当初没深入思考过这个问题)
先从网络获取用户数据再展示用户数据会有一个问题,由于网路请求数据是需要一定时间的,这样当我打开一个包含用户数据的页面的时候会有片刻时间无法看到用户的数据,尤其在这个页面包含用户头像的时候这个效果(闪屏)更加明显,给用户的体验不是很好。
我们可以在项目中创建一个存储用户信息的类,这个类可以将用户信息存储到本地,在展示用户数据的时候先从本地去取数据这样就不会有之前片刻时间看不到用户数据的闪屏效果,再从网络上获取数据同时将数据存储到本地,再重复从本地取的操作(这样能保证数据是最新的,不会出错)。
存储用户数据到本地有三个要点需要注意:
1.在第一次从网络获取用户数据的时候就将用户数据进行存储(以便在展示的时候使用)。
2.在用户修改用户数据的时候存储用户数据的类相应地做修改,并进行存储(注意是在网络上修改成功之后再去做本地修改以及存储)。
3.在用户退出登录的时候删除存储用户数据类中存储的用户数据(防止下一个登录用户使用到上一个用户的数据)。
这个存储用户数据的类相当于一个中介,在从网络获取到数据时并没有直接去展示用户数据而是先将数据放到了中介中,在展示用户数据的时候再去这个存储了用户数据的中介中去取数据。
本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊