前言 之前在開發(fā)中有使用到計(jì)時(shí)器NSTimer,后來了解到iOS中不同的計(jì)時(shí)方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新頻率同步繪圖...
前言 之前在開發(fā)中有使用到計(jì)時(shí)器NSTimer,后來了解到iOS中不同的計(jì)時(shí)方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新頻率同步繪圖...
先了解一下應(yīng)用啟動(dòng)之后,做了什么。main.m 中的 main() 是程序的入口,但在進(jìn)入 main 函數(shù)之前,程序就執(zhí)行了很多代碼(不然也不會(huì)啟動(dòng)那么久)。啟動(dòng)后執(zhí)行順序:...
GitHub 地址:YBTaskScheduler 支持 cocopods,使用簡便,效率不錯(cuò),一個(gè)性能優(yōu)化的基礎(chǔ)組件。 前言 前些時(shí)間有好幾個(gè)技術(shù)朋友問過筆者類似的問題:主...
今天我們討論的hook方式僅僅是指Method Swizzle,fishhook、Cydia Substrate 等方式不在今天的討論范疇。 hook load方法我們主要面...
疑問? 在iOS中,經(jīng)常需要用到線程的概念,尤其是類似UI繪制等操作,蘋果也明確規(guī)定必須在主線程進(jìn)行繪制,那么,我們?nèi)绾蝸砼袛喈?dāng)前所在的線程呢?不同的判斷方法又有何區(qū)別呢? ...
最近看到的Slow App Startup Times里提到: The dynamic loader finds and reads the dependent dynami...
在 WWDC 2016 和 2017 都有提到啟動(dòng)這塊的原理和性能優(yōu)化思路,可見啟動(dòng)時(shí)間,對(duì)于開發(fā)者和用戶們來說是多么的重要,本文就談?wù)勅绾尉_的度量 App 的啟動(dòng)時(shí)間,啟...
一. 格式規(guī)范 1.1 使用4個(gè)空格進(jìn)行縮進(jìn) 推薦 1.2 二元運(yùn)算符(+, ==, 或->)的前后都需要添加空格 推薦 1.3 一般情況下,在逗號(hào)和冒號(hào)后面加一個(gè)空格 推薦...
MVC對(duì)于iOS開發(fā)的意義 對(duì)于iOS開發(fā)而言 始終無法繞開UIKit這個(gè)框架, 加之SwiftUI并不成熟, 所以你懂的, 而UIKit框架就是基于的MVC的設(shè)計(jì)模式, 所...