北京Android开发培训班哪好?Android是一款基于Linux内核,面向移动终端的操作系统。为适应其作为移动平台操作系统的特殊需要,谷歌对其做了特别的设计与优化,使得其进程调度与资源管理与其他平台的Linux有明显的区别。主要包含下面几个层次:
ApplicationFramework
ApplicationFramework将整个操作系统分隔成两个部分。对应用开发者而言,所有APP都是运行在ApplicationFramework之上,而并不需要关心系统底层的情况。ApplicationFramework层为应用开发者提供了丰富的应用编程接口,如ActivityManager,ContentProvider,NotificationManager,以及各种窗口Widget资源等。在ApplicationFramework层,Activity是一个APP最基本的组成部分。一般每个Activity对应于屏幕上的一个视图(或者说一屏),一个APP可以有一个或者多个Activity。应用程序被打包成.apk格式的文件,由DalvikVM解释执行。
DalvikVM
Dalvik虚拟机采用寄存器架构,而不是JVM的栈结构。Java程序编译后的.class文件并不能在Dalvik中解释执行。因此Google提供了一个dx工具,用于将.class文件转换成Dalivk能够识别的.dex格式。具体DalvikVM的细节不是本文重点,以下不再讨论。
Linuxkernel
由上所述,所有的APP都是由Java代码编写并在DalvikVM中得到解释执行。在Android操作系统中,每个DalvikVM的每个Instance都对应于Linux内核中的一个进程。可以使用adbshell工具查看系统中的当前进程。如下图所示,Android2.3.3启动后内核中的进程列表。
Android操作系统的内存回收机制详解
UID标识为app_xx的每一项都是一个app所占用的进程,可见Android设计使得每个应用程序由一个独立的Dalvik实例解释执行,而每个Linux内核进程加载一个Dalvik实例,通过这种方式提供app的运行环境。如此,每个APP的资源被完全屏蔽,互不干扰。虽然同时引入了进程间通信的困难,但也带来了更强的安全性。
北京Android开发培训班哪好?本文为独家提供!拥有全国10万家培训机构,您要的培训这里都有,找培训,上!
相关文章推荐阅读:北京Android开发培训班