前言 老規(guī)矩(Show me the code) Talk is cheap[https://github.com/lyp82nlf/AndroidPerformance] ...
目錄: 線程基礎(chǔ) 線程池 各種各樣的鎖 并發(fā)容器 原子類 Java 內(nèi)存模型 線程協(xié)作 AQS 框架 一蛉拙、線程基礎(chǔ) 1. 為什么繼承 runnable 接口比繼承 Threa...
內(nèi)存優(yōu)化是性能優(yōu)化的重頭戲,因此這部分也花了很多時(shí)間來(lái)梳理恼除。老規(guī)矩踪旷,先上大綱: 一曼氛、基礎(chǔ)知識(shí) 1.1 Android內(nèi)存管理框架: 這里針對(duì)上圖進(jìn)行簡(jiǎn)單描述: 1)物理地址與...
對(duì)冗余挑揀重點(diǎn)舀患,對(duì)重點(diǎn)深入補(bǔ)充,輸出結(jié)構(gòu)清晰的精簡(jiǎn)版 深入 binder 驅(qū)動(dòng)內(nèi)部binder_ioctlbinder_get_threadbinder_ioctl_writ...
本篇是第二篇聊浅,主要是涉及線程與進(jìn)程的喚醒,數(shù)據(jù)傳輸?shù)姆庋b與解析现使, Binder線程的睡眠與喚醒(請(qǐng)求線程睡在哪個(gè)等待隊(duì)列上低匙,喚醒目標(biāo)端哪個(gè)隊(duì)列上的線程) Binder協(xié)議中B...
Binder承擔(dān)了絕大部分Android進(jìn)程通信的職責(zé)碳锈,可以看做是Android的血管系統(tǒng)顽冶,負(fù)責(zé)不同服務(wù)模塊進(jìn)程間的通信。在對(duì)Binder的理解上售碳,可大可小强重,日常APP開(kāi)發(fā)并...
對(duì)冗余挑揀重點(diǎn),對(duì)重點(diǎn)深入補(bǔ)充贸人,輸出結(jié)構(gòu)清晰的精簡(jiǎn)版 智能指針binder 驅(qū)動(dòng)中的結(jié)構(gòu)體ProcessStateIPCThreadStateBpBinderBinderPr...
對(duì)冗余挑揀重點(diǎn)间景,對(duì)重點(diǎn)深入補(bǔ)充,輸出結(jié)構(gòu)清晰的精簡(jiǎn)版 1.必備知識(shí)設(shè)備驅(qū)動(dòng)文件描述符頁(yè)框2.Binder 概述3.binder 驅(qū)動(dòng)binder_openbinder_mma...
由于簡(jiǎn)書(shū)對(duì)文章有最大長(zhǎng)度限制艺智,這部分內(nèi)容拆解為三篇倘要,分別為:Binder驅(qū)動(dòng)之設(shè)備控制binder_ioctl -- 一Binder驅(qū)動(dòng)之設(shè)備控制binder_ioctl -...
如需轉(zhuǎn)載請(qǐng)?jiān)u論或簡(jiǎn)信,并注明出處十拣,未經(jīng)允許不得轉(zhuǎn)載 目錄 前言 現(xiàn)在Android的應(yīng)用界面越來(lái)越復(fù)雜封拧,很多時(shí)候頁(yè)面中還有各種動(dòng)畫(huà),所以頁(yè)面卡頓父晶、掉幀等問(wèn)題就隨之而來(lái)哮缺,所以就...
一 內(nèi)存映射函數(shù)的實(shí)現(xiàn) binder_mmap(kernel/drivers/android/binder.c) 打開(kāi)binder后埠胖,需要調(diào)用mmap進(jìn)行內(nèi)存映射糠溜,該函數(shù)經(jīng)過(guò)...
對(duì)冗余挑揀重點(diǎn)非竿,對(duì)重點(diǎn)深入補(bǔ)充,輸出結(jié)構(gòu)清晰的精簡(jiǎn)版 1. 操作系統(tǒng)內(nèi)存管理基礎(chǔ)虛擬內(nèi)存內(nèi)存分配與回收mmapCopy on Write2. Android 內(nèi)存管理Low ...
對(duì)冗余挑揀重點(diǎn)谋竖,對(duì)重點(diǎn)深入補(bǔ)充红柱,輸出結(jié)構(gòu)清晰的精簡(jiǎn)版 1.進(jìn)程間通信的經(jīng)典實(shí)現(xiàn)共享內(nèi)存承匣、管道UNIX Domain SocketRemote Procedure Calls2...