Android智能手机的系统结构:
智能手机的硬件基本结构大多采用双处理器架构:主处理器和从处理器,主处理器主要运行开放式操作系统以及操作系统之上的应用,负责整个系统的控制,称之为AP,从处理器负责基本无线通信,完成语音信号和数字语音信号调制解调/信道编码解码和无限Modem控制。
Android应用框架层主要的组件介绍:
View(视图):在AndroidSDK中介绍了丰富的Views使用方法及相关属性,所有的Android应用程序有这写Views构成,主要包括了列表(Lists),网格(Grids),文本框(Text),按钮(Buttons)等基础Android应用的界面控件。
Resource Manager(资源管理器):提供非代码资源转换和访问,如本地字符串(XML文件配置),图片和布局文件(Layout Files,使用XML文件配置)。
Notification manager(通知管理器):应用可以在状态栏中现实自定义的提示信息,如新短信通知,未接来电通知,手机信号量通知。
Activity Manager(Activity管理器):用来管理Android应用程序界面的生命周期(onCreate创建,onResume显示,onPause暂停,onStop停止等),一个手机屏幕界面可对应一个Activity。
Dalvik虚拟机运行环境:
DEX格式是专为Dalvik设计的一种压缩格式,适用于内存和处理器速度有限的系统:要生成DEX格式文件,首先要通过Java编译生成class文件,然后通过Android提供的dx工具将class文件格式转换成DEX格式。
Dalvik虚拟机的特性总结:
每个Android应用运行在一个Dalvik虚拟机实例中,而每一个虚拟机实例都是一个独立的进程空间。
虚拟机的线程机制,内存分配和管理,Mutex(进程同步)等的实现都依赖底层Linux操作系统。
所有Android应用的线程都对应一个Linux线程,因而虚拟机可以更多地使用Linux操作系统的线程调度和管理机制。
整体编译源代码:
源代码现在完成后,使用终端在项目跟目录下使用make命令进行编译,如果计算机处理能力比较强可使用make -j8增加编译工作进程数从而减少编译时间。
编译生成的system目录中,主要结构:
app(应用apk文件)
bin(可执行文件)
etc(系统配置文件)
fonts(字体文件)
framework(主要保存一些jar包)
lib(主要保存一些so动态链接库文件)
usr(用户配置信息)
xbin(系统的一些可执行文件)