編輯:關於android開發
Android內存管理基本介紹
Android 內核是基於Linux 2.6內核的(目前最新開發版本是2.6.31),它是一個增強內核版本,除了修改部分 Bug 外,它提供了用於支持 Android 平台的設備驅動,其核心驅動主要包括:
Android Binder,基於OpenBinder框架的一個驅動,用於提供Android平台的進程間通訊(IPC,inter-process communication)。 源代碼位於drivers/staging/Android/binder.c
Android 電源管理(PM) ,一個基於標准Linux電源管理系統的輕量級的Android 電源管理驅動,針對嵌入式設備做了很多優化。源代碼位於kernel/power/earlysuspend.c kernel/power/consoleearlysuspend.c kernel/power/fbearlysuspend.c kernel/power/wakelock.c kernel/power/userwakelock.c
低內存管理器(Low Memory Killer) ,相對於Linux標准 OOM(Out Of Memory)機制更加靈活,它可以根據需要殺死進程來釋放需要的內存。 源代碼位於drivers/staging/Android/lowmemorykiller.c
匿名共享內存(ashmem) ,為進程間提供大塊共享內存,同時為內核提供回收和管理這個內存的機制。 源代碼位於mm/ashmem.c
Android PMEM(Physical) ,PMEM 用於向用戶空間提供連續的物理內存區域,DSP和某些設備只能工作在連續的物理內存上。 源代碼位於drivers/misc/pmem.c
Android Logger ,一個輕量級的日志設備,用於抓取Android 系統的各種日志。 源代碼位於drivers/staging/Android/logger.c
Android Alarm ,提供了一個定時器用於把設備從睡眠狀態喚醒,同時它也提供了一個即使在設備睡眠時也會運行的時鐘基准, 源代碼位於drivers/rtc/alarm.c
USB Gadget 驅動 ,一個基於標准Linux USB gadget 驅動框架的設備驅動,Android的USB驅動是基於gaeget框架的, 源代碼位於drivers/usb/gadget/
Android Ram Console ,為了提供調試功能,Android允許將調試日志信息寫入一個被稱為RAM Console的設備裡,它是一個基於RAM的Buffer。 源代碼位於drivers/staging/Android/ram_console.c。
每個Android應用都運行在一個單獨的進程在它自己的Dalvik的實例,負責所有的Android運行時的內存和進程管理的責任,停止和死亡過程的必要的管理資源。
Dalvik 和Android運行時間在一個Linux內核,處理低層次的硬件交互,包括驅動程序和內存管理,其API提供下層的服務,功能,和硬件的訪問。
Dalvik虛擬機是基於寄存器的虛擬機的優化,以確保設備可以有效地運行多個實例。 它依賴於Linux內核線程和低級的內存管理。
android編譯系統學習,android編譯學習近日接手了後續android新平台項目搭建的任務。 本文內容基於sprd公司提供的android5.1源碼。 一、一般的
Android開發的初學者快速創建一個項目,android開發初學者因為gwf的原因,大陸連不上google所以AndroidSDK是無法更新的 而且設置代
Android中AsyncTask的使用詳解 在Android中我們可以通過Thread+Handler實現多線程通信,一種經典的使用場景是:在新線程中進行耗時操作,
在Windows下快速搭建React Native Android開發環境 搭建JAVA開發環境 根據操作系統分為x86或x64位的,下載jdk1.8以上的版本, 本