YueChen-C / py-ios-device

IOS Professional Performance Testing Tool . You can get CPU, GPU, Memory , Lifecycle and other metrics from real iOS devices . iOS 性能测试工具
GNU General Public License v3.0
686 stars 188 forks source link

兼容有些 App 先收到 Initial Frame Rendering 的 END,然后再收到 BEIGIN 的问题 #127

Closed erduoniba closed 12 months ago

erduoniba commented 12 months ago

正常的启动监控,是应该监控到如下几个时机:

 235.94 ms   Initializing-System Interface Initialization (Dyld init)
  36.03 ms   Initializing-Static Runtime Initialization
  12.27 ms   Launching-sceneWillConnectTo()
  12.65 ms   Launching-UIKit Initialization
 784.17 us   Launching-UIKit Scene Creation
  27.25 us   Launching-willFinishLaunchingWithOptions()
  19.17 us   Launching-UIKit Scene Creation
 472.22 ms   Launching-Initial Frame Rendering
App Thread Process ID:2956 Name:bili-universal, Process Total Time:757.86 ms

但是在测试过程中,发现有一些 App 会提前执行到 Initial Frame Rendering(END),导致监控的时机如下:

 680.17 ms Launching-didFinishLaunchingWithOptions()
  14.11 ms   Launching-UIKit Scene Creation
 758.12 ms   Launching-Initial Frame Rendering
App Thread Process ID:2543 Name:JD4iPhone, Process Total Time:1452.40 ms

导致启动数据不全,并且整体耗时有误差。

最新的代码已经修复解决,辛苦也 review 一下。