让你的APP变快的6个设计方案

移动开发 Android
大家都知道不管网页还是移动APP,响应速度都是最重要的体验指标之一,并且移动应用的网络环境不稳定,速度的体验显得尤为重要。其实速度优化不仅是程序员的事,设计,也能够让APP变得更快。

[[90337]]

大家都知道不管网页还是移动APP,响应速度都是最重要的体验指标之一,并且移动应用的网络环境不稳定,速度的体验显得尤为重要。其实速度优化不仅是程序员的事,设计,也能够让APP变得更快。

1.后台执行

这是一条很通用,也容易理解的方法。用户不会愿意盯着进度条傻傻地等待,除了“取消”没有其他选择。在系统处理一些网络任务的时候,完全可以允许用户做一些其他的事情。各大平台的发微博,都采用了后台执行。云阅读的离线下载也采用后台执行。

而微博的看长图(或视频),是个反例。网络不给力时,要么等待1分钟让图加载完,要不就只好放弃看图。为什么不能让图加载的同时,用户可以看其他微博呢?

2.在载入前显示内容

客户端与web的一个不同点,客户端的显示内容包括本地数据和网络数据两部分。在设计界面时,将更多的信息放在本地,在网络数据未载入时即显示本地 数据,让用户产生一种“已经载入一半了”的错觉,即使最终的耗时一样,心理感受也会更快。当然把数据过多地写在本地,会牺牲一些灵活性,需要根据具体情况 考虑。

如App Store的详情页,在详细信息载入前,已有信息先显示。

3.充分利用好缓存

缓存可以把网络数据保存在本地,下次打开时无需要再次向网络请求,减少流量并减少等待时间。在设计时,可以先显示缓存内容,同时后台到网络上拉取新 内容,若有新内容立即替换或下次访问时替换。但缓存使用也要注意“度”,过大的缓存文件占用太多的系统空间,会让用户一怒之下卸载APP。

4.界面先行,网络交互随后

对于一些数据量很小,且失败可能性较小的网络交互,用户并不需要明确知道APP在干这些事情,也能够顺畅地使用APP,那么就可以“把一些事实掩盖起来”,即界面上听话地、迅速地完成任务(心智模型),程序后台默默地继续执行任务(实现模型)。

最常用的比如QQ、微信、易信等聊天界面。点击发送后,消息立即”飞”到聊天上下文中,其实对方还没收到。但这样的设计让沟通的过程更顺畅,没有“正在发送 – 发送成功”各种过程的干扰。

5.预测用户行为,提前开始任务

不知道大家使用淘宝有没有这样的习惯,在搜索结果列表,将所有感兴趣的结果都打开为新标签页,然后一个个地看,没兴趣的就关闭。这样做的好处是,在我浏览商品详情页的时候,每个页面都是载入完全了,否则我点开一个看一个,每个都要等待加载完,就会大大降低效率。

那么能否通过设计,来满足类似使用场景呢?应该是可以的,那就是预测用户的行为,提前开始任务。

策略类似这样:用户在某个界面停留的时候,预测下一步可能做ABC三个任务,系统于是把这些任务都提前做完。当用户做出选择比如A时,界面可以迅速响应,并且同时把BC两个任务从内存中清空掉以节省资源。(当然这招也有限制:1,只适用于免费的网络。2,预加载不能影响系统的性能)

后台自动加载新内容:并在刷新按钮上显示“NEW”,此时当用户再刷新,内容立即呈现。

再比如Chrome在下载前询问是否保存,在用户决定之就已经开始下载,节省了不少时间。如果用户放弃,已下载内容会自动删除。

那么,用这个思路:

● 写微博插入照片后,能否自动上传,而不必等用户点击了“发送”才上传?
● 看微博时定位到某条微博,是否应该自动加载大图或视频?
● 音乐应用在当前歌曲快播放完时,是否应该下载下一首歌,以免切歌的时候会卡一会儿?

6.使用动效来掩护载入过程

优秀的动效设计,让产品更好用且让人眼前一亮。其实,动效还有另一大用处,吸引用户的注意,让本来枯燥的等待载入的过程,变成愉悦欣赏的过程。

实例:

责任编辑:徐川 来源: appying
相关推荐

2021-02-07 23:08:29

Python开发Java

2013-12-16 09:36:08

App项目

2014-08-27 10:24:16

APP

2013-11-05 13:19:37

设计加速

2012-07-11 10:49:34

鲍尔默Surface

2012-03-22 09:46:51

数据库

2018-09-27 15:56:15

2010-10-29 11:01:11

简历

2018-04-24 10:05:13

Docker工具交付

2022-08-29 08:05:44

Go类型JSON

2021-04-20 10:47:59

手机APP科技

2011-10-19 09:27:03

数据中心照明设计

2010-02-25 15:30:47

SDRAMWindows CE

2012-08-17 11:01:52

设计方案

2019-08-23 08:09:18

订单号生成数据库ID

2016-12-13 08:40:15

app移动应用Go语言

2010-06-25 10:01:46

虚拟化

2013-07-12 13:24:19

App诱惑

2012-03-02 10:50:20

jQuery

2012-12-17 09:58:56

视频网络解决方案
点赞
收藏

51CTO技术栈公众号