首页启动速度
- 在启动过程中做的事情越少越好
(尽可能将多个接口合并) - 不在UI线程上作耗时操作
(数据的处理在子线程进行,处理完通知主线程刷新) - 在合适的时机开启后台任务
页面浏览速度
- json的处理
- 数据的分页
(后端数据多的话,分页返回) - 数据压缩
(大数据也可以压缩返回,减少流量,加快反应速度) - 内容缓存
(可将数据缓存到本地,从本地加载) - 延时加载tabbar
(比如app有5个tab,可以先加载第一个要显示的tab,其他的在显示时候加载,按需加载) - 算法的优化
操作流畅度优化
- TableView优化
(tableview cell的加载优化) - ViewController加载优化
(不同view之间的跳转,可以提前准备好数据)
数据库的优化
- 数据库设计上面的重构
- 查询语句的优化
- 分库分表
(数据太多的时候,可以分不同的表或者库)
服务器和客户端的交互优化
- 客户端尽量减少请求
- 服务端尽量做多的逻辑处理
- 服务端和客户端采取推拉结合的方式
(可以利用一些同步机制) - 通信协议的优化
(减少报文的大小) - 电量使用优化
(尽量不要使用后台运行)
非技术性能优化
- 产品设计的逻辑性
- 界面交互的规范
- 代码规范
- 代码重构
- 日常交流