一、什么是安卓?
安卓是谷歌公司开发的基于Linux的开源操作系统。
——源地址1:https://安卓. Google source.com /
——源代码地址2: http://androidxref.com/
专门为移动设备开发的操作系统,包括手机、平板电脑、车载系统和智能电视。
安卓的第一个版本于2008年11月发布,至今已有10多年的历史,几乎每年更新一个版本,下一个版本的安卓q将于今年10月23日发布。 API版本
二.安卓系统分层
高速APP应用层
Java API框架
Lib库和安卓运行时环境
HAL层
Linux内核
三.安卓APP研发
需要的知识是什么?
开发参考手册: https://developer.Android.Google.cn /
IDE:Android Studio或Eclipse
语言: JAVA
知识点
四.安卓四大组件
活动:活动通常是指屏幕
或者窗口需要布局。 布局通常在Android manifest.xml中设置
生命周期
服务
服务(也称为服务)主要处理长时间的任务
运行与用户界面无关,而是在后台运行
生命周期和使用方法
调用启动类型的服务:oncreate(-onstartcommand )-service running-- (context.stop service )-onDestroy ) )
调用绑定的服务:oncreate(-onbind )-service running-- (on unbind )- onDestroy ) )
Broadcast Receiver :翻译后是广播接收器,用于消息传递
如果在触发事件时发送广播,则注册广播的人可以接收消息
注册分为动态注册和静态注册
静态注册到Android manifest.xml并动态注册到代码中
内容提供程序
内容提供者
使用content provider为不同APP应用程序提供数据存储和读取
在Uri中标识唯一的访问门户
Content Provider通常与数据库(Sqlite )一起使用,也有网络、文件和XML格式。
Android附带的内容提供程序包括浏览器、呼叫日志、联系人、媒体和设置
五.安卓进程间通信
六.上下文
上下文是抽象类,Activity、Service、Application等是该类的实现。 面向对象语言中大部分操作都需要基于对象,这时需要context。
七. Java API框架
SystemServer框架中最重要的进程之一,也是虚拟机启动后运行的第一个java进程,SystemServer将启动其他系统服务。 所有这些系统服务都作为线程存在于systemserver进程中。
介绍几种最常用的服务:
activitymanagerservice :管理AMS和Acvitity的生命周期和事件处理
软件包管理器服务: PMS、程序安装和软件包管理
WindowManagerService:WMS,窗口管理包括显示器、视图、大小等
电话管理器:通话管理
八.安卓运行时库
库路径:/system/lib/
So库一般是用C/C编译的动态库,上层的Java程序在JNI中调用
主要内容包括Lib c、OpenGL、SSL ……
所有安卓APP都是用JAVA语言开发的。 JAVA是说明语言,必须在虚拟机环境中运行。 Android Runtime和Dalvik是解释器,Dalvik用于Android 4.4和更低版本,ART为4.4和更高版本。
九、安卓代码如何执行?
在Android中,Java类被转换为DEX字节码。 DEX字节码在ART或Dalvik runtime中转换为机器码。 其中DEX字节码与设备体系结构无关。 Dalvik使用JIT (任务时间)编译,ART使用AOT (辅助时间)编译。
十. HAL层
HAL:HARDWARE ABSTRUCT LAYER,简单地说,封装Linux内核驱动程序,提供高级接口,屏蔽低层实现的详细信息。 HAL定义了硬件供应商实现的标准接口,允许Android忽略较低级别的驱动程序实现。
一些硬件制造商不想开源一些与他们的硬件相关的核心东西。 如果将自己硬件的所有驱动程序放入内核空间驱动程序中进行实施,则必须遵循GPL协议,并且必须是开源的。 形成HAL层后,他们可以在HAL层上放置一些核心的算法等实现。 HAL层位于用户空间,不属于linux内核,与安卓源代码一样遵循appache协议。 它可以是开源的或开源的。
十一. Linux内核
安卓驱动程序由两部分组成。 一个是HAL层,另一个是linux内核驱动HAL层,提供从上层调用的接口,同时以IOCTRL或一些框架的形式访问linux内核,将各种驱动程序传递到内核驱动的linux内核USB、COM、WIFI、BT、CAMERA、AUDIO
十二、美联储、美联储
一个安卓手机通常包括两个处理器AP和BP
Ap :应用程序处理器,执行操作系统和APP应用程序数据处理
BP :包括基带处理器、无线通信、信道调制、编码、呼叫、语音、短信数据服务,在该芯片上进行。