DWURecyclingAlert, 优化UITableViewCell以快速滚动

分享于 

4分钟阅读

GitHub

  繁體 雙語
A drop-in code snippet that dynamically detects non-recycled UI elements inside your UITableViewCells.
  • 源代码名称:DWURecyclingAlert
  • 源代码网址:http://www.github.com/diwu/DWURecyclingAlert
  • DWURecyclingAlert源代码文档
  • DWURecyclingAlert源代码下载
  • Git URL:
    git://www.github.com/diwu/DWURecyclingAlert.git
    Git Clone代码到本地:
    git clone http://www.github.com/diwu/DWURecyclingAlert
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/diwu/DWURecyclingAlert
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    DWURecyclingAlert

    代码通常只有不到10毫秒才会导致帧丢失。 1

    Build Status

    Fly的画面

    插入 4个类:

    • UITableViewCell
    • UICollectionViewCell
    • UITableViewHeaderFooterView
    • UICollectionReusableView ( 作为页脚/页眉)

    监视 6个时间敏感的API调用:

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

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

    • 显示非循环的UIView,CALayer和UIImage对象,带有加粗的红色 bolders。
    • 显示每次敏感的API调用完成所需的时间,以毫秒为单位。
    用法

    步骤1: 将 DWURecyclingAlert.m 插件放入项目。Swift 或者ObjC中。

    步骤 2: 没有步骤 2.

    ( 可选) 使用CocoaPods并手动启动注入:

    pod 'DWURecyclingAlert'

    然后通过在项目中的任意位置运行以下函数手动开始注入:

    void Inject_DWURecyclingAlert();

    用户界面配置

    你的项目很可能在这里使用了大量的[UIColor redColor]。 或者,也许你想用你的第一个团队语言来定位毫秒警告字符串。 查看配置部分,并按照你喜欢的方式定制它们。

    工作原理

    方法swizzling和关联对象。 你总是可以读取源代码。

    默认情况下在发行版中禁用

    DWURecyclingAlert.m 需要调试宏编译和运行。 因此,在默认情况下,它在默认情况下处于禁用状态。 在调试版本中,如果还想禁用它,请注释文件顶部的 macro。

    示例项目

    在这个 repo 中,你可以找到RecyclingAlert示例项目。

    许可证

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

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


    相关文章