編輯: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內核線程和低級的內存管理。
前面兩部分分別講了RSS概述和解析XML文件,本節講解怎樣在列表中顯示RSS內
微信平台開放後倒是挺火的,許多第三方應用都想試下接入微信這個平台,畢竟可以利用微信建立起來的關系鏈來拓展自己的應用還是挺不錯的,可以節約很多在社交方面的開銷,我最
正弦波大家在數學中都學過,但是在Android開發中如何繪制正弦波呢?本文將給出一個開發實
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個