欢迎关注我的 Blog tunnycoder.com
虽然 iPhone 性能越来越好,但是 App 也越来越复杂,所以性能问题也从来都是移动开发者所关心的问题之一。一个 App 性能好的表现主要是在:应用启动快速、 UI 反馈响应及时、列表滚动操作流畅、内存使用合理,更不能随随便便 Crash 。
网上有一大堆性能优化的 Tips ,宗旨是写代码之前规避一些性能问题,时常对代码进行性能方面的提升,列出一些个人碰到过的。
NSDateFormatter
、SQLite 语句
、正则表达式
的初始化和设置都很昂贵。viewController
.CPU 会在 N 条线程之间调度,消耗大量 CPU 资源; 每条线程被调度执行的频次会降低(线程的执行效率降低)
View 和 layer 的动画绘制前的计算
、Layer 的组合计算( drawing 后的叠加)
、PNG 的解码
- 在
AppDelegate
中使用applicationDidReceiveMemoryWarning:
的方法- 在你的自定义 UIViewController 的子类(subclass)中覆盖
didReceiveMemoryWarning
- 注册并接收
UIApplicationDidReceiveMemoryWarningNotification
的通知
1.取消正在下载的操作 2.清除内存缓存
本文针对用户响应
和内存
方面,简单介绍一下如何进行性能分析。
用户响应
用户响应即用户事件被 runloop 及时处理和响应。 runloop 其实就是 App 事件驱动的一个大循环,使程序一直运行,并接受用户输入。它有一个事件队列,决定程序在何时处理哪些事件, runloop 中通过消息队列防止出现主调方一直等待的情况。 runloop
1
xjbeta 2016-05-22 20:44:02 +08:00
差评 编号怎么都是 1
|
3
simon4761 2016-05-24 20:02:04 +08:00
都是比较老话常谈的优化点了,希望你自己能总结出来一些正规点的优化手段 。
|