随笔分类 - 代码优化
摘要:静态扫描的原理 在iOS编译的产物 Mach-o文件中 __DATA __objc_classrefs 段记录了引用类的地址,__DATA __objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。 (PS:静态类获取的类会有误
阅读全文
摘要:FPS监控:因为iOS设备屏幕的刷新时间是60次/秒,一次刷新就是一次VSync信号,时间间隔是1000ms/60 = 16.67ms,所有如果咋16.67ms内下一帧数据没有准备好,就会产生掉帧 RunLoop监控:通过子线程检测主线程的RunLoop的状态,kCFRunLoopBeforeSou
阅读全文
摘要:1.cocoapods安装以下类库 pod 'JJException' 遵循协议 JJExceptionHandle pod 'Bugly', '~> 2.5.71' 2.AppDelegate 导入头文件 #import <JJException.h> #import <Bugly/Bugly.h
阅读全文
摘要:一、App启动优化 二、安装包瘦身 三、卡顿问题 四、耗电优化 一、App启动优化 1.App的启动可以分为2种 冷启动(Cold Launch):从零开始启动APP 热启动(Warm Launch):APP已经在内存中,在后台存活着,再次点击图标启动APP APP启动时间的优化,主要是针对冷启动进
阅读全文
摘要:bugly官方文档 https://bugly.qq.com/docs/user-guide/symbol-configuration-ios/?v=20200622202242 1.bugly手动上传符号表 查找符号表 Xcode -- Window -- Organizer -- 找到打包的那个
阅读全文
摘要:总结: 三类工具 基础工具 (NSLog的方式记录运行时间.) 性能工具.检测各个部分的性能表现,找出性能瓶颈 内存工具.检查内存正确性和内存使用效率 性能工具: 可以衡量CPU的使用,时间的消耗,电池的消耗 一、Time Profile 启动Time Profile:Xcode ——> Produ
阅读全文
摘要:一、渲染机制 CPU将计算好的需要显示的内容提交给GPU,GPU渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照Vsync(垂直脉冲)信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器进行显示。 二、GPU屏幕渲染有两种方式 离屏渲染Off-Screen Rendering 指的是GP
阅读全文