首页 > iOS加载新页面的耗时过长问题

iOS加载新页面的耗时过长问题

最近写了一个页面,发现从点击按钮到完全打开另一个页面竟然耗时长达5s,于是打日志后监控,发现主要有两个点:
1.在segue的model出页面到viewDidLoad耗时达到2s;
2.viewWillAppear到viewDidAppear间耗时有1.5s;
以下是我的代码片段截图

以下是我的打印日志内容:
2014-07-02 19:01:40.734 zuibangai[8396:907] 当前毫秒级时间1 = 2014-07-02 19:01:40.669000
2014-07-02 19:01:42.354 zuibangai[8396:907] 当前毫秒级时间2 = 2014-07-02 19:01:42.352000
2014-07-02 19:01:42.363 zuibangai[8396:907] 【Record DAO】创建数据库表成功!
2014-07-02 19:01:42.365 zuibangai[8396:907] 当前毫秒级时间2.1 = 2014-07-02 19:01:42.365000
2014-07-02 19:01:42.812 zuibangai[8396:907] 当前毫秒级时间3 = 2014-07-02 19:01:42.812000
2014-07-02 19:01:42.886 zuibangai[8396:907] 当前毫秒级时间7 = 2014-07-02 19:01:42.884000
2014-07-02 19:01:42.888 zuibangai[8396:907] 当前毫秒级时间8 = 2014-07-02 19:01:42.889000
2014-07-02 19:01:42.890 zuibangai[8396:907] 当前毫秒级时间9 = 2014-07-02 19:01:42.891000
2014-07-02 19:01:45.344 zuibangai[8396:907] 当前毫秒级时间4 = 2014-07-02 19:01:45.342000
2014-07-02 19:01:45.346 zuibangai[8396:907] 当前毫秒级时间5 = 2014-07-02 19:01:45.346000
2014-07-02 19:01:45.362 zuibangai[8396:907] 当前毫秒级时间6 = 2014-07-02 19:01:45.362000

可以看到从前一个页面到这个页面的viewDidLoad入口耗时将近2s,viewWillAppear到viewDidAppear间耗时有1.5s左右。期间没有任何网络请求和耗时操作,只是本地加载视图,图片也不多,非常奇怪。我本身的测试机器iPhone4确实比较慢,但还不至于慢到这种程度,同时在虚拟机上也加载较慢(只是好一点点),求高人指点!


把计算和IO操作放后台去


个人开发心得
建议开发者,平坦化运算

  1. 把关键的且耗时少的运算放在didload里,这样能减少ViewController 在切换时候的卡顿时间。
  2. 将一些必须的UI渲染放在 viewWillAppear 里运算。
  3. 一些复杂的运算可以丢在 viewDidAppear 里。
  4. 最后是一些 触发型的 做触发加载,或者延迟加载。

个人经验
有可能你的nib 或者storyboard 的 初始化 View 太多,
如一些 datepicker 键盘等都比较耗时,建议往后放。

【热门文章】
【热门文章】