這篇文章通過Java Binder Parcel的例子,分析Java Parcel與Native Parcel的關(guān)系 Java Binder Parcel 示例代碼 從代碼可...
這篇文章通過Java Binder Parcel的例子,分析Java Parcel與Native Parcel的關(guān)系 Java Binder Parcel 示例代碼 從代碼可...
簡單介紹一下Art里的jit和aot.本文分成三個部分: JIT Introduction AOT Introduction Relation between JIT&AOT...
背景 在實現(xiàn)功能的時候,我把我的功能邏輯實現(xiàn)在libmeminfo.so庫當中。由于我的功能需要調(diào)用libmemtrack.so庫中的一些函數(shù),我就在libmeminfo的A...
匯編語言是直接在硬件之上工作的編程語言,利用硬件系統(tǒng)的編程結(jié)構(gòu)和指令集有效靈活地控制系統(tǒng)進行工作是匯編課程的研究重點。 1.1 機器語言 機器語言是機器指令的集合,機器指令展...
Binder系列第一篇:《從getSystemService()開始,開擼Binder通訊機制》http://www.itdecent.cn/p/1050ce12bc1e B...
安卓JVM加載so庫流程 好久沒有寫點東西發(fā)了,工作中的事情有點雜,也找不到整塊東西可以寫的。 最近調(diào)查了一個問題,稍微追了一下流程,這里記錄一下。 1. 問題背景 由于我們...
在安卓anr發(fā)生的時候,會進行anr現(xiàn)場的log打印以及trace文件的輸出,以便于安卓開發(fā)者進行問題的分析。本文介紹了anr發(fā)生之后,從AMS的MainHandler接受到...
本文基于安卓6.0源碼,對systemserver進程的啟動與管理的基本過程進行介紹。從Zygote進程初始化ZygoteInit.main()中調(diào)用startSystemS...
linux通過UID/GID機制對權(quán)限進行管理,將文件的權(quán)限劃分為讀、寫和執(zhí)行三種,分別用字母r、w和x表示。每一個文件有三組讀、寫和執(zhí)行權(quán)限,分別是針對“文件的所有者”、“...
一、環(huán)境準備 1.1 安裝llvm 安裝方法參考:https://apt.llvm.org/[https://apt.llvm.org/]。 為了方便起見,有一個自動安裝腳本...
JNI,即Java Native Interface的縮寫,中文為Java本地調(diào)用,它連接了Java與Native之間的世界。 鑒于功力尚淺,本文從基本概念、原理與實戰(zhàn)三個方...
本章主要介紹binder驅(qū)動的三個重要函數(shù),binder_open()、binder_mmap()以及binder_ioctl()。在介紹這三個函數(shù)的過程中,簡單提binde...
【Binder通信】第二篇:ServiceManager啟動過程 consumedServiceManager進程是Binder進程間通信機制中一個非常重要的守護進程,它是由...
應(yīng)用程序的運行與維護,離不開日志。APP開發(fā)者們有很多選擇,例如微信的xlog(高可靠性高性能的運行期日志組件)等,同樣也離不開原生的日志機制支持。所以我們從原生Androi...
RecyclerView 是用于大量數(shù)據(jù)展示的控件,相對于傳統(tǒng)的 ListView ,更加強大和靈活。 緩存機制 RecyclerView 與 ListView 的緩存機制原...
本文最早寫于2017年,基于Android O源代碼。因當時我修復(fù)原生UsageStatsService的一個bug,所以后整理一篇文章,學習下相關(guān)知識。文章遷移至此: 一....
一. AIDL是快速實現(xiàn)binder,實現(xiàn)跨進程通信的工具 AIDL:Android Interface Definition Language,安卓接口描述語言 二. 實現(xiàn)...
Binder初探 在調(diào)查ANR問題的過程中,經(jīng)常會遇到一些應(yīng)用主線程trace顯示其正在調(diào)用目標進程的方法,進行bindercall。由于經(jīng)??吹竭@一類的trace,所以對b...