Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android內存管理基本介紹

Android內存管理基本介紹

編輯: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內核線程和低級的內存管理。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved