前言 之前在開發(fā)中有使用到計時器NSTimer,后來了解到iOS中不同的計時方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新頻率同步繪圖...
前言 之前在開發(fā)中有使用到計時器NSTimer,后來了解到iOS中不同的計時方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新頻率同步繪圖...
先了解一下應用啟動之后,做了什么。main.m 中的 main() 是程序的入口,但在進入 main 函數(shù)之前,程序就執(zhí)行了很多代碼(不然也不會啟動那么久)。啟動后執(zhí)行順序:...
GitHub 地址:YBTaskScheduler 支持 cocopods,使用簡便,效率不錯,一個性能優(yōu)化的基礎組件。 前言 前些時間有好幾個技術(shù)朋友問過筆者類似的問題:主...
今天我們討論的hook方式僅僅是指Method Swizzle,fishhook、Cydia Substrate 等方式不在今天的討論范疇。 hook load方法我們主要面...
疑問? 在iOS中,經(jīng)常需要用到線程的概念,尤其是類似UI繪制等操作,蘋果也明確規(guī)定必須在主線程進行繪制,那么,我們?nèi)绾蝸砼袛喈斍八诘木€程呢?不同的判斷方法又有何區(qū)別呢? ...
“當啟動App之后會運行5秒,這個時間是默認的,可以自己進行更改?!?這個在哪里可以改
使用Instruments - App Launch查看啟動問題Instruments App Launch的用法 XCode11之后,Instrument提供了App Launch工具,可以用于查看App的啟動過程,從而可以針對性的對啟...
最近看到的Slow App Startup Times里提到: The dynamic loader finds and reads the dependent dynami...
在 WWDC 2016 和 2017 都有提到啟動這塊的原理和性能優(yōu)化思路,可見啟動時間,對于開發(fā)者和用戶們來說是多么的重要,本文就談談如何精確的度量 App 的啟動時間,啟...
一. 格式規(guī)范 1.1 使用4個空格進行縮進 推薦 1.2 二元運算符(+, ==, 或->)的前后都需要添加空格 推薦 1.3 一般情況下,在逗號和冒號后面加一個空格 推薦...
MVC對于iOS開發(fā)的意義 對于iOS開發(fā)而言 始終無法繞開UIKit這個框架, 加之SwiftUI并不成熟, 所以你懂的, 而UIKit框架就是基于的MVC的設計模式, 所...
前言 分享一個小工具 , 可以用來查看到你項目中的代碼數(shù)量 , 滿足一些童鞋的好奇心 , 當然在做項目匯報的時候也可以有所幫助. 介紹 CLOC (Count Line of...
用id修飾和NSObject *修飾有何不同? 要詳細了解兩者的不同,需要先說一說Objective-C中的動態(tài)類型和靜態(tài)類型。 動態(tài)類型動態(tài)類型指的是對象指針類型的動態(tài)性,...
請問以下代碼執(zhí)行結(jié)果是什么: 運行結(jié)果:崩潰(壞內(nèi)存訪問) 原因分析:因為setter方法中,對strong修飾的屬性會有一個retain和release的操作。在并發(fā)多線程...
最近出現(xiàn)了幾篇關(guān)于二進制重排啟動優(yōu)化的文章。所有方案中都需要事先統(tǒng)計所有的函數(shù)調(diào)用情況,并根據(jù)函數(shù)調(diào)用的頻次來進行代碼的重排。 這些函數(shù)調(diào)用中,OC對象的方法調(diào)用最多。統(tǒng)計O...
前言 自2016年8月至2017年10月,今日頭條iOS端已經(jīng)進行了3輪安裝包大小優(yōu)化。 2016.08-2016.10第一期優(yōu)化78MB -> 42MB (1)刪除Swif...