背景 58APP現階段所有的業務都融合在一個可執行文件中。其弊端在于所有的類都在啟動時同時加載,如某SDK在啟動階段hook大量的系統方法,其中一個load方法的耗時就已經達...

背景 58APP現階段所有的業務都融合在一個可執行文件中。其弊端在于所有的類都在啟動時同時加載,如某SDK在啟動階段hook大量的系統方法,其中一個load方法的耗時就已經達...
Link Map File初識 我們編寫的源碼需要經過編譯、鏈接,最終生成一個可執行文件。在編譯階段,每個類會生成對應的.o文件(目標文件)。在鏈接階段,會把.o文件和動態庫...
1. LinkMap解析 導讀IOS在做包大小優化的時候,需要分析包大小組成,然后通過包大小組成來有針對的做優化。其中最主要的工具就是linkmap文件的解析,下面文章講簡單...
2017年 3月7日,我入職58當天拍的工位照片,當時是工位還在A1樓5層。 17年一個普普通通的夜晚,9點之后打車回家,初來乍到不敢打快車,只敢拼車,到家已經快11點。 剛...
本文首發于我的個人博客:「程序員充電站」[https://itcharge.cn]文章鏈接:「傳送門」[https://itcharge.cn/ios-complete-le...
簡介 在LLVM的官方文檔中對Swift的編譯器設計描述如下: Swift編程語言是在LLVM上構建,并且使用LLVM IR和LLVM的后端去生成代碼。但是Swift編譯器...
自己實現kvo之前,需要知道iOS系統對kvo的實現。 系統實現kvo的原理 這依賴了OC強大的runtime特性。在我們對某個Student的實例對象的name屬性addO...
DNS解析本質上是localDNS的解析,說白了,你給它一個域名,它返回給你一個IPlist DNS(Domain Name System)即域名解析系統,這個東西說對于開發...
1.簡介 LRU (英文:Least Recently Used), 意為最近最少使用,這個算法的精髓在于如果一塊數據最近被訪問,那么它將來被訪問的幾率也很高,根據數據的歷...