WatchdogInspector 1.3.0

WatchdogInspector 1.3.0

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布上次发布2018年8月

Christian Menschel维护。



WatchdogInspector

在您的 iOS 应用程序的停靠栏中显示当前帧率 (fps)

成为好公民!不要阻塞主线程!

Build Status Cocoapods Version CocoaPods Platform Carthage Compatible Twitter

WatchdogInspector 会统计您的应用程序的帧率并在停靠栏中显示 fps。彩色停靠栏会告诉您当您的帧率低于 60 fps 时。如果一切正常,您的停靠栏将保持绿色。为了检测不必要的线程阻塞,您可以设置自定义看门狗超时。

功能

  • 状态栏显示当前帧率(每2秒测量一次),以fps为单位
  • 根据fps将状态栏颜色从绿色(良好的帧率)渐变到红色(不良的帧率)
  • 自定义看门狗超时:主线程在指定时间内停滞时抛出异常

screencast

安装

CocoaPods

pod "WatchdogInspector"

运行pod install。您可以在示例项目中查看如何设置和运行WatchdogInspector。请确保您在**不要**在生产环境中使用WatchdogInspector

Carthage

您可以使用Carthage。在Cartfile中指定

github "tapwork/WatchdogInspector"

使用

Objective-C | Swift

开始

在启动后或任何时候

import WatchdogInspector
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        TWWatchdogInspector.start()
        return true
}

要停止,只需调用

TWWatchdogInspector.stop()

主线程停滞异常

您可以为停滞异常设置自定义看门狗超时时间(默认:3秒)

TWWatchdogInspector.setStallingThreshhold(10.0)

您还可以禁用主线程异常

TWWatchdogInspector.setEnableMainthreadStallingException(false)

#### 记录为了记录所有测量的帧率,您可以在控制台通过调用记录它们(默认:开启)

TWWatchdogInspector.setUseLogs(true)

工作原理

基本上,有两款计时器在运行以测量帧率。

  1. 后台线程计时器每2秒触发一次,以计算主线程设置的帧数。理想情况下,结果将在2秒内达到120帧,以获得60fps。后台计时器在每次事件中重置帧计数器。它还会将测量的fps发送到主线程的状态栏。

  2. 主线程计时器应该每1/60秒(60fps对于流畅动画是理想的)触发一次,以增加帧计数器。如果主线程阻塞并且无法在每1/60秒运行,帧率将下降到60fps。

还有一个运行循环观察器在运行以检测主线程的停滞,有一个定义的超时时间。如果超时已到达,将抛出异常。

相关项目

作者

许可证

MIT