原创 IOS底層原理 -5.運行時(1)

OC是一種動態性比較強的語言,所有的函數調用都是基於消息機制;簡介參照: 文章目錄1. isa指針1.1 簡述1.2 在看isa之前先熟悉兩個知識點`位域`和`共用體union`1.3 `isa`結構體的成員的含義:1.4 i

原创 IOS底層原理 -7.多線程

文章目錄1. iOS中多線程方案2. GCD 同步,異步,串行,並行2.1 從一到面試題入手認識下GCD:2.2 多線程易混淆的名詞2.3 面試題解析3 多人線程與runloop3.1 面試題13.2 面試題24 隊列組5 線程安

原创 iOS底層原理-8.卡頓及優化

文章目錄1. 卡頓的原因2. 卡頓優化3.卡頓的檢測 1. 卡頓的原因 GPU的渲染是通過cpu計算好的結果給GPU來進行渲染的,每一幀的畫面都得經過CPU計算然後渲染到GPU,在CPU計算的時候GPU就可能出現大量的等待時間;

原创 iOS底層原理-8.內存管理

文章目錄1. NSTimer,CADisplayLink 使用注意事項2. NSProxy3. NSTimer 底層研究 -dispatch_source_t timer4. target point4.1 iOS中內存分佈(下

原创 WebRTC系列 -- iOS 視頻採集

文章目錄1. 採集1.1 採集控制1.2 採集輸出1.3 其他主要接口調用2. 編碼 `VideoStreamEncoder`類2.1 主要構造過程2.1 編碼主要流程 1. 採集 1.1 採集控制 webrtc 相機的初始化及

原创 IOS底層原理 -6.runloop

文章目錄1. 簡介2. Runloop 對象獲取3. RunLoop 運行邏輯3.1 RunLoop 調用過程3.2 源碼簡介3.3 對timer的影響4 子線程中對NSTimer的影響4.1 子線程如何使用NSTimer,通過上

原创 oc 運行時

##1. runtime ## 詳細描述 一、runtime簡介 1.示例: 概念綜述: 消息傳遞(對象消息傳遞):對象消息傳遞是一種動態特性,既接收器和接收器中被調用的方法是在運行時確定的。 消息傳遞表達式:包含消息和接收器,

原创 xcode6和xcode5區別

一. 工程創建 xcode 5 創建的工程 有四個目錄 如圖 1: Framework 中存放有常用的框架 xcode5 是不會自動導入框架的 xcode 6 中有一個啓動LunchScreen.xid (*xcode

原创 歡迎使用CSDN-markdown編輯器

歡迎使用Markdown編輯器寫博客 本Markdown編輯器使用StackEdit修改而來,用它寫博客,將會帶來全新的體驗哦: Markdown和擴展Markdown簡潔的語法 代碼塊高亮 圖片鏈接和圖片上傳 LaTex數學公

原创 UIWindow

步驟 在加載完成info.plist 的時候或進行判斷是否,設置了main,如果沒有就需要自動手動創建; 創建窗口的實例化對象, self.window = [[UIWindow alloc]initWithFrame:[U

原创 二. UIApplication

什麼是UIApplication 是應用程序的象徵 每一個應用都有自己的UIApplication單例對象 通過以下方法可以獲單例對象 一個ios程序啓動後創建後的第一個UIAlication 對象就是他的對象; [UIAl

原创 ios swift 測試框架翻譯之Quick例子和一ArrangeActAssert

XCTest高效測試:Arrange, Act, 和 Assert 無論你是使用XCTest, Quick或者其他的一些測試框架,你都能通過下面簡單的模式寫出高效的單元測試: 1. Arrange

原创 ios swift 測試框架翻譯之Quick例子和一組例子的有序測試

Quick使用一種特殊的語法去明確這個例子和一組例子。 在使用XCTest進行高效的測試:有序,行爲和斷言時,我們知道一個好的測試方法名是非常重要的–當這個測試是一個失敗的開始的時候,這個測試用一個最好的方式讓我們決定要修改應用的

原创 WebRTC系列 -- iOS 視頻播放

視頻播放渲染的核心文件(webrtc_video_engine.cc): 在WebRtcVideoReceiveStream的RecreateWebRtcVideoStream()函數中創建了webrtc::VideoReceiv

原创 IOS底層原理 -5.運行時(2)

文章目錄1. 面試題:isKindClass和isMemberOfClass面試題:類的底層原理和方法調用原理1. 爲什麼可以輸出?2. 輸出爲什麼是viewController中的? 1. 面試題:isKindClass和isM