04 2022 档案

摘要:静态扫描的原理 在iOS编译的产物 Mach-o文件中 __DATA __objc_classrefs 段记录了引用类的地址,__DATA __objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。 (PS:静态类获取的类会有误 阅读全文
posted @ 2022-04-27 22:40 黄增松 阅读(95) 评论(0) 推荐(0) 编辑
摘要:layoutSubviews继承于UIView的子类重写,进行布局更新,刷新视图。如果某个视图自身的bounds或者子视图的bounds发生改变,那么这个方法会在当前runloop结束的时候被调用。为什么不是立即调用呢?因为渲染毕竟比较消耗性能,特别是视图层级复杂的时候。这种机制下任何UI控件布局上 阅读全文
posted @ 2022-04-18 21:42 黄增松 阅读(317) 评论(0) 推荐(0) 编辑
摘要:1、获取当前所展示的控制器: //需要获取到显示在最上面的viewController - (UIViewController *)theTopviewControler{ //获取根控制器 UIViewController *rootVC = [[UIApplication sharedAppli 阅读全文
posted @ 2022-04-18 21:09 黄增松 阅读(506) 评论(0) 推荐(0) 编辑
摘要:FPS监控:因为iOS设备屏幕的刷新时间是60次/秒,一次刷新就是一次VSync信号,时间间隔是1000ms/60 = 16.67ms,所有如果咋16.67ms内下一帧数据没有准备好,就会产生掉帧 RunLoop监控:通过子线程检测主线程的RunLoop的状态,kCFRunLoopBeforeSou 阅读全文
posted @ 2022-04-17 18:09 黄增松 阅读(259) 评论(0) 推荐(0) 编辑
摘要:1.swift是静态语言,有类型推断,OC是动态语言。 2.swift面向协议编程,OC面向对象编程 3.swift注重值类型,OC注重引用类型。 4.swift支持泛型,OC只支持轻量泛型 5.swift支持静态派发(效率高)、动态派发(函数表派发、消息派发)方式,OC支持动态派发(消息派发)方式 阅读全文
posted @ 2022-04-17 11:29 黄增松 阅读(3032) 评论(0) 推荐(0) 编辑
摘要:同步 异步 表示开辟新线程的能力 异步 可以开辟新线程同步 不可以 串行并行 表示队列调度任务的能力 串行 前一个任务执行完毕才能调度下一个任务并行 前一个任务一旦执行,就可以调度下一个任务 异步 + 串行 可以开辟新线程,但是任务只能一个一个取,所以没必要开辟新线程 结果:单线程 异步 + 并行 阅读全文
posted @ 2022-04-07 19:29 黄增松 阅读(100) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示