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

小胖。 · December 08, 2016 · Last by 唐僧之妈 replied at December 08, 2016 · 1593 hits

最近在做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的时间统计也可以

小胖。 关闭了讨论 09 Dec 13:51
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up