一 16.667毫秒(一帧) CPU 能能执行多少命令?
1.一条命令 1x10^-9秒,一帧时间可执行 1000万条指令。
2.换算成方法,一个没有操作的方法
- (void)method{
//no code
}
执行时间30纳秒,包括入栈,执行,清理。那么一帧时间可以执行50万个方法
二. MVC规则
1.业务逻辑应该属于服务层或业务逻辑组件
2.动画应放到动画类实现
3.数据检索,数据更新 和其它业务进行分离。
三.层级 对 性能的影响
1.渲染步骤
(1).构造子视图
(2).计算并提供约束
(3)子视图 重复 步骤1,2
(4)递归渲染
2.由1可知,层级越复杂,更长时间构建和渲染视图
四. 简单控制器 创建到 显示出来 15毫秒,过度动画300毫秒。
五.UILable的计算是在主线程执行的
六 UIImageView 渲染代价比较大
image 和imageview 尽量尺寸相同,如果不是尽量进行预处理 调整大小
七 tableview部分优化
外壳界面,比如图像那,只显示一个灰色背景的圆圈,当滚动速度降低,再加载数据
八 UIWebView,尽量复用一个,UIWebView因内存泄漏而知名
九 复合视图,就是 cell上添加一个label,一个imageView
十 直接绘制 重写drawrect方法
1.与复合式图相比性能更好
2.与复合式图相比初次初始化,滚动后首次初始化,滚动后二次初始化,所用时间有2~20被差异
3.缺点,难以维护
十一 自动布局
1.自动布局 比 直接使用frame 布局 慢,约慢50%
十二 iOS 8新特性
1.交互式通知:用户不需要打开应用就可以进一步行动,会有回调函数
2.today extension