本文用于記錄AMS的相關(guān)知識(shí)總結(jié)。 AMS(ActivityManagerService)主要負(fù)責(zé)系統(tǒng)中四大組件的啟動(dòng)、切換、調(diào)度及應(yīng)用進(jìn)程的管理和調(diào)度等工作。 1. Act...
本文用于記錄AMS的相關(guān)知識(shí)總結(jié)。 AMS(ActivityManagerService)主要負(fù)責(zé)系統(tǒng)中四大組件的啟動(dòng)、切換、調(diào)度及應(yīng)用進(jìn)程的管理和調(diào)度等工作。 1. Act...
本文用于記錄Android四大組件啟動(dòng)流程的相關(guān)知識(shí)總結(jié)。主要梳理思路,源碼比較少...... 一. Activity Activity有兩種:根Activity和普通Act...
本文用于記錄Android系統(tǒng)相關(guān)知識(shí)點(diǎn)。主要是文字總結(jié)~ 一、Android系統(tǒng)架構(gòu) Android系統(tǒng)架構(gòu)分為五層:① 應(yīng)用層(APP)② 應(yīng)用框架層(Framework...
本文用于記錄Binder機(jī)制的相關(guān)知識(shí)總結(jié)。簡(jiǎn)單講,Binder是Android跨進(jìn)程通信方式。進(jìn)程本質(zhì)是一個(gè)對(duì)象,對(duì)應(yīng)著不同的虛擬機(jī),也就是不同的存儲(chǔ)空間??邕M(jìn)程的通訊即不...
移動(dòng)端項(xiàng)目復(fù)雜到一定程度都會(huì)走上組件化的道路,組件一多就會(huì)出現(xiàn)聯(lián)編緩慢的問題。Android項(xiàng)目可以通過gradle,依賴源碼生成jar包,提高編譯速度。對(duì)于Objectiv...
Demo簡(jiǎn)單流程就是: ① 進(jìn)入原生代碼的首頁【一個(gè)按鈕(跳轉(zhuǎn)): 兩個(gè)輸出label(測(cè)試回調(diào)輸出)】 ② 通過按鈕點(diǎn)擊進(jìn)入RN渲染UI頁【控制器原生管理,兩個(gè)按鈕(帶...
該篇主要是關(guān)于各種方法調(diào)度的差異。 前面我們研究了結(jié)構(gòu)體和類的底層結(jié)構(gòu),主要是屬性相關(guān)信息和引用計(jì)數(shù)。那方法存儲(chǔ)在哪里?首先先了解下內(nèi)存的分區(qū): 棧區(qū)的地址 比 堆區(qū)的地址 ...
該篇主要是關(guān)于Swift的內(nèi)存管理規(guī)則。 1. 引用計(jì)數(shù) 在Class的底層結(jié)構(gòu)分析中,我們可以知道HeapObject由兩部分組成。 不同于OC將引用計(jì)數(shù)保存在引用計(jì)數(shù)表(...
該篇主要是關(guān)于研究Class和Struct的底層結(jié)構(gòu),以及Swift反射的相關(guān)知識(shí)。 1.Struct和Class的內(nèi)存分布 眾所周知,結(jié)構(gòu)體的值是直接儲(chǔ)存在??臻g,類的值是...
靜態(tài)派發(fā) 值類型對(duì)象的函數(shù)的調(diào)用方式是靜態(tài)調(diào)用,即直接地址調(diào)用,調(diào)用函數(shù)指針,這個(gè)函數(shù)指針在編譯、鏈接完成之后就已經(jīng)確定了,存放在代碼段,而結(jié)構(gòu)體內(nèi)部并不存放方法。因此可以通...