摘要:
当前 iOS App 的编译打包方式是把适配兼容多个设备的执行文件及资源文件合并一个文件,上传和下载的文件则包含了所有的这些文件,导致占用较多的存储空间。 App Thinning 是一个关于 的功能,它可以让 App Store 和操作系统在安装、更新及运行 iOS 或者 watchOS 的 Ap 阅读全文
摘要:
一、简介 依赖注入可以通过初始化方法(或构造函数)传递所需要的参数,或者通过属性(setter)传递。这里将对这两种方法进行讲解。 初始化方法注入: 属性注入: 一般更趋向于初始化注入,如果在初始化(构造函数)的时候没办法进行注入,才通过属性进行注入。在通过初始化注入的情况下,这些依赖可能仍然需要作 阅读全文
摘要:
一、Off Screen Rendering 离屏渲染,指的是 GPU 在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。 离屏渲染的数量才是影响 app 交互性能的根源。 离屏渲染耗时是发生在离屏这个动作上面,而不是渲染。原因主要在于创建缓冲区和上下文切换。创建新的缓冲区代价都不算大,付出最大代价 阅读全文
摘要:
APP 启动到执行 main 函数之前,程序就执行了很多代码。 执行顺序: 1. 将程序依赖的动态链接库加载到内存 2. 加载可执行文件中的所有符号,代码 runtime 解析被编译的符号代码 3. 遍历所有的 class 4. 按继承层级一次调用 Class 的 load 和 category 的 阅读全文