iOS高级开发-学习笔记01
2020-06-15 本文已影响0人
Mark_大东
1.GUI框架
GUI:图形用户界面。
iOS的GUI框架:UIKit、Core Animation 、Core Graphices、Core Image 、OpenGL ES
UIKit框架提供一系列的Class类来建立和管理应用程序的用户界面UI接口、应用程序对象、事件控制、绘制模型、窗口、视图和用于控制触摸屏等的接口。
Core Animation是一套包含图形绘制、投影、动画的OC类集合
OpenGL ES是个C语言写的非常底层的图形处理框架,是个 移动设备上绘制2D和3D计算机图形的标准开源库,广泛地被用在游戏的图形绘制上,负责直接驱动GPU,效率非常高,缺点是使用起来异常复杂。
Core Graphices主要绘图系统,常用于绘制自定义视图,纯C的API,使用Quartz2D做引擎
备注:
- CPU作为电脑的处理核心,负责处理各种各样的数据
- GPU作为一个专门为图形高并发计算量身定做的处理单元,能同时更新所有的像素,并把结果显示到显示器上,在图形处理方面具有相当的专业性,而且还具有高效的特点。它的出现使得CPU从大量的图形数据处理中解放出来。
2.App启动
App的启动分为冷启动和热启动。
冷启动:指的是APP点击启动前,它的进程不在系统里,需要系统新创建一个进程分配给它启动的情况,这是一个完整的启动过程。
热启动:指的是冷启动后用户将APP退后台,在app的进程还在系统里的情况下,用户重新启动进入APP的过程,这个过程做的事情非常少。
冷启动的三个阶段:
- main()函数执行前(点击app)
- man()函数执行后 (main()函数)
- 首屏渲染完成后 (首屏渲染完成)
3.App启动速度监控
关注的是App方法耗时
- Xcode工具套件里自带的Time Profiler:通过定时抓取主线程上的方法调用堆栈,计算一段时间里各个方法的耗时
- 对objc_msgSend方法进行hook来掌握所有方法的执行耗时