本文将通过举例和分析来讨论以下三个方面的内容
- 网络异常相关的处理
- 无数据的状态的处理
- 未登陆的状态的处理
1.网络异常相关
分析:
1.微信的处理比较简单,主要界面有比较醒目的提示
2.还有就是有做缓存处理,之前以为微信之所以很大以至于大到一两个G是由于为了时间网络相关的缓存,后来被提示指正了,其实微信为了数据的安全把所有的聊天数据都放在了本地而不是服务器,所以微信的缓存很大一部分是为了解决这个问题而不是无网络的缓存;
3.提供了一写操作提示,比如图二的提示(腾讯系的APP好像都做了这样的处理)
分析:
1.淘宝每个tabBar主界面都做了缓存处理
2.对一些子页面做了UI的处理,定制了相应的无网络的UI操作和提示
分析:
1.提供了alert提醒
2.定制了相应的无网络的UI
3.没有做任何缓存,所以出现网络相关的问题以后页面除了有相应的UI提醒以外不会有任何其他内容
分析:
1.部分页面做了数据的缓存(首页)
2.定制了相应的无网络的UI
3.界面添加了醒目的提示,进入子页面后提供了相关的操作提示(类似微信)
分析:
1.处理相对来说比较简单,网络异常的情况下进入主要界面都会提供相应的hud提醒
2.没有做任何缓存(文章发布的时候简书已经改版)
网络相关的总结:
1.部分主要界面做了数据的缓存
- 优点:界面不会呈现给用户为一片空白,效果比较友好
- 缺点:可能部分过期内容会给用户带来消极影响,app占用的内存会变大
2.会提供相应的提示(alert,hud,自定义的UI等)
- 优点:任何情况下友好的用户提示都会很大的提高用户体验
- 缺点:过度频繁或者不恰当的提醒反而会让用户产生厌烦感
3.定制了无网络相关的UI界面
优点:界面比较友好,不会显示为一片空白,可以提供用户相应的提示和一些其他操作
缺点: 暂无
2.无数据相关的处理
分析:
定制了相应的无数据的UI(背景图片/title/操作按钮)
网络相关的总结:
大厂们的处理都差不多,基本上都定制了相应的UI
3.未登陆的处理
分析:
1.需要用户信息的界面都会有相应的未登陆的UI提示(提醒登陆),页面还是展示的
2.需要用户信息的子页面还是会直接跳到登陆页面
分析:
需要用户信息相关的界面未登陆状态会直接跳到登陆页面
未登陆相关的总结:
处理方式大概分为两种:
1.直接跳到登陆页面
2.有定制相关的未登录状态的UI界面
总结:
由于公司项目是属于电商类所以所举的例子大都是相关的应用,实际情况大家可以结合自己的APP选择相应或者其他的处理方案