前言 之前在开发中有使用到计时器NSTimer,后来了解到iOS中不同的计时方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新频率同步绘图...
前言 之前在开发中有使用到计时器NSTimer,后来了解到iOS中不同的计时方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新频率同步绘图...
先了解一下应用启动之后,做了什么。main.m 中的 main() 是程序的入口,但在进入 main 函数之前,程序就执行了很多代码(不然也不会启动那么久)。启动后执行顺序:...
GitHub 地址:YBTaskScheduler 支持 cocopods,使用简便,效率不错,一个性能优化的基础组件。 前言 前些时间有好几个技术朋友问过笔者类似的问题:主...
今天我们讨论的hook方式仅仅是指Method Swizzle,fishhook、Cydia Substrate 等方式不在今天的讨论范畴。 hook load方法我们主要面...
疑问? 在iOS中,经常需要用到线程的概念,尤其是类似UI绘制等操作,苹果也明确规定必须在主线程进行绘制,那么,我们如何来判断当前所在的线程呢?不同的判断方法又有何区别呢? ...
最近看到的Slow App Startup Times里提到: The dynamic loader finds and reads the dependent dynami...
在 WWDC 2016 和 2017 都有提到启动这块的原理和性能优化思路,可见启动时间,对于开发者和用户们来说是多么的重要,本文就谈谈如何精确的度量 App 的启动时间,启...
一. 格式规范 1.1 使用4个空格进行缩进 推荐 1.2 二元运算符(+, ==, 或->)的前后都需要添加空格 推荐 1.3 一般情况下,在逗号和冒号后面加一个空格 推荐...
MVC对于iOS开发的意义 对于iOS开发而言 始终无法绕开UIKit这个框架, 加之SwiftUI并不成熟, 所以你懂的, 而UIKit框架就是基于的MVC的设计模式, 所...