前言 我第一次開始重視Objective-C Runtime是從2014年11月1日,@唐巧老師在微博上發(fā)的一條微博開始。 這是sunnyxx在線下的一次分享會(huì)。會(huì)上還給了4...
前言 我第一次開始重視Objective-C Runtime是從2014年11月1日,@唐巧老師在微博上發(fā)的一條微博開始。 這是sunnyxx在線下的一次分享會(huì)。會(huì)上還給了4...
前言: 按照時(shí)間順序,事件的生命周期是這樣的:事件的產(chǎn)生和傳遞(事件如何從父控件傳遞到子控件并尋找到最合適的view、尋找最合適的view的底層實(shí)現(xiàn)、攔截事件的處理)->找到...
在上篇文章代碼注入,竊取微信密碼中咱們已經(jīng)簡單的提到了MachO,在用Framework做代碼注入的時(shí)候,必須先向MachO的Load Commons中插入該Framewor...
在上篇文章不知MachO怎敢說自己懂DYLD中已經(jīng)詳細(xì)介紹了MachO,并且由MachO引出了dyld,再由dyld講述了App的啟動(dòng)流程,而在App的啟動(dòng)流程中又說到了一些...
眾里尋他千百度,驀然回首,那人卻在燈火闌珊處。--《青玉案·元夕》 要學(xué)會(huì)看crash崩潰和報(bào)告 一個(gè)應(yīng)用程序并不總會(huì)一直運(yùn)行的很好,它總會(huì)有出現(xiàn)crash崩潰的情況。如果在...
綠樹陰濃夏日長,樓臺倒影入池塘。--《唐高駢·山亭夏日》 mach-o文件和進(jìn)程的映像(image) iOS系統(tǒng)生成的可執(zhí)行程序或者動(dòng)態(tài)庫文件的存儲(chǔ)布局格式被稱之為mach-...
原文地址 野指針 當(dāng)所指向的對象被釋放或者收回,但是對該指針沒有作任何的修改,以至于該指針仍舊指向已經(jīng)回收的內(nèi)存地址,此情況下該指針便稱野指針 野指針異??胺Qcrash界的半...
一. 前言 最近被指派去解決一些線上的崩潰問題,經(jīng)常遇到野指針導(dǎo)致的崩潰。相對于其他的原因引起的崩潰來說,野指針導(dǎo)致崩潰是最難定位的,這里主要總結(jié)了兩種思路來定位野指針導(dǎo)致的...
成因 野指針就是指向一個(gè)已刪除的對象或者受限內(nèi)存區(qū)域的指針。我們寫C++的時(shí)候強(qiáng)調(diào)指針初始化為NULL,強(qiáng)調(diào)用完后也為其賦值為NULL,誰分配的誰回收,來避免野指針的問題。比...
前言 OOM全稱 Out Of Memory,指的是因?yàn)閮?nèi)存使用過多而導(dǎo)致的 APP 閃退。其實(shí)這本身是一種操作系統(tǒng)管理內(nèi)存的機(jī)制。因?yàn)槭謾C(jī)的內(nèi)存是有限的,不可能無限制的使用...
怎么檢測項(xiàng)目中的Data race? 下面就進(jìn)入正題簡單聊一聊iOS中的鎖,以及相關(guān)的內(nèi)容(由于本人能力有限,文中難免有一些遺漏或者錯(cuò)誤,請各位看官不吝賜教!謝謝!??) 簡單...
寫這篇文章的起因: 從一個(gè)對象收到一個(gè)它無法響應(yīng)的方法到崩潰之間發(fā)生了什么?這是J_Knight在最近在博客里面問到的一個(gè)問題。其實(shí)本質(zhì)上是在問iOS的消息轉(zhuǎn)發(fā)機(jī)制。類似的原...
attribute是一套編譯器指令,被GNU和LLVM編譯器所支持,允許對于attribute增加一些參數(shù),做一些高級檢查和優(yōu)化。attribute的語法是,在后面加兩個(gè)括號...
SDWebImage包含了基本的圖片下載、緩存、編解碼性能優(yōu)化等功能集成,具備較完善的圖片處理流程、和較好的框架可擴(kuò)展性,成為很多APP中圖片加載功能的標(biāo)配;這片文章主要介紹...