移动性能测试 ios app 启动时间问题咨询

小胖。 · 2016年12月08日 · 最后由 唐僧之妈 回复于 2016年12月08日 · 2832 次阅读

最近在做 ios app 前端性能相关测试,先引用一篇关于启动时间测试的帖子:ios 启动时间测试

在帖子里启动时间获取方式有写到 3 种:

  • main 调用 AppDelegate 文件的时间;
  • 内存创建完成就算是启动成功,即:didLoad;
  • didAppear,即 ui 展示出来为准。

我的疑惑就是在测试启动时间应该以哪个为准(从字面上看,应该以第三种方式为准,但做技术的还是要以技术为准,有没有人能解惑下)?

PS:链接中的 切换到 CPU strategy view 到底在哪,,实在没找到。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

苹果 WWDC 2016 上有一个对应的专题:https://developer.apple.com/videos/play/wwdc2016/406/,通过配置启动选项可以在 xcode 的日志中显示由系统统计出来的启动时间。

我们目前以官方的这种获取方式为准。至于你上面说的哪个时间比较准确,我觉得取决于你们对启动时间的理解吧。didLoad 的时候用户还不一定能看到完整界面,didAppear 是用户已经看到界面。

另外,用 NSLog 埋点有个不好的地方,只有 Debug 模式下 NSLog 会出现,但实际用户使用的应该是 Release 模式。从准确度的角度,启动时间应该用 Release 模式的准确一些。

PS:刚用 Xcode 8.1 + iOS 10.0.2 试了下 time profile ,现在有概要时间报告了

#1 楼 @chenhengjie123 多谢,还是准备以官方获取方式为准。time profile 获取的概要时间这个数据是否有计算方式呢?

或者使用 Flurry 的时间统计也可以

小胖。 关闭了讨论 12月09日 13:51
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册