DWURecyclingAlert 1.0.2

DWURecyclingAlert 1.0.2

Tests已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released最新发布2015年10月

Di Wu维护。




  • 作者:
  • Di Wu

您的代码通常在引起帧率下降之前有不到十毫秒的时间来运行。1

动态可视化糟糕的绘图

注入4个类

  • UITableViewCell
  • UICollectionViewCell
  • UITableViewHeaderFooterView
  • UICollectionReusableView (作为脚部和头部)

监视6个敏感的 API 调用

  • [UIView drawRect:]
  • tableView:cellForRowAtIndexPath
  • tableView:viewForHeaderInSection
  • tableView:viewForFooterInSection
  • collectionView:cellForItemAtIndexPath
  • collectionView:viewForSupplementaryElementOfKind:atIndexPath

以两种方式可视化糟糕的绘图代码

  • 以粗体的红色显示未回收的 UIView、CALayer 和 UIImage 对象。
  • 显示每个时间敏感 API 调用完成所需的时间,以毫秒为单位。

使用方法

步骤1:将 DWURecyclingAlert.m 添加到您的项目中,Swift 或 ObjC。

步骤2:没有步骤2。

(可选)使用 CocoaPods 并手动开始注入

pod 'DWURecyclingAlert'

然后在您的项目中的任何位置运行以下函数手动开始注入

void Inject_DWURecyclingAlert();

UI 配置

您的项目可能恰好在这里和那里使用了很多 [UIColor redColor]。或者,也许您想用团队的第一语言本地化毫秒警告字符串。查看 UI 配置 部分,并按您喜欢的样子进行自定义。

工作原理

方法交换和关联对象。您可以随时阅读 源代码

默认情况下在发布中禁用

DWURecyclingAlert.m 需要DEBUG宏来编译和运行。因此,默认情况下它在发布中是禁用的。如果您还希望在调试构建中禁用它,请注释掉文件顶部的 DWURecyclingAlertEnabled 宏。

杂项

  • 无论您的单元格/头部/尾部是通过代码还是通过 nib/storyboard 创建的,DWURecyclingAlert.m 都有扫描它的方式。
  • 一个单元格具有多个覆盖 drawRect: 的子视图是完全正常的,如果这种情况出现,DWURecyclingAlert.m 将会计算遍历每一个 drawRect: 调用所需要的时间总和。
  • DWURecyclingAlert.m 需要iOS 6或更高版本才能编译。

示例项目

在这个版本库中您可以找到RecyclingAlert的示例项目。

许可证

DWURecyclingAlert是在MIT许可证下发布的。有关详细信息,请参阅LICENSE

1: Facebook AsyncDisplayKit指南。(http://asyncdisplaykit.org/guide