安卓系统框架介绍(安卓常用框架)

一、什么是Android?Android是由谷歌公司开发的一种基于Linux的开源的操作系统。——源码地址1:https://android.googlesource.com/——源码地址2:http://androidxref.com/起初专为移动设备开发的一个操作系统,如手机,平板电脑,车载系统,智能电视等。Android第一个版本2008年11月发布,至今有超过…

大家好,又见面了,我是你们的朋友全栈君。

一、什么是Android?

Android是由谷歌公司开发的一种基于Linux的开源的操作系统。  

——源码地址1: https://android.googlesource.com/  

——源码地址2:http://androidxref.com/

起初专为移动设备开发的一个操作系统,如手机,平板电脑,车载系统,智能电视等。

Android第一个版本2008年11月发布,至今有超过10年的历史,几乎每一年都会更新一个版本,下一个版本Anroid Q计划于今年10月23日发布。 API版本

 

二、Android系统分层

应用层

JAVA API Framework

Lib库及Android运行环境

HAL层

Linux内核

安卓系统框架介绍(安卓常用框架)

三、Android应用开发

需要具备哪些知识?

开发参考手册:https://developer.android.google.cn/

IDE:Android Studio 或者Eclipse

语言:JAVA

基本知识点

四、Android四大组件

Activity: 通常一个activity指的就是一个屏幕

屏幕或者窗口需要布局,布局通常在Android manifest.xml中设置

生命周期

安卓系统框架介绍(安卓常用框架)

Service

Service又叫服务,主要处理较长时间的任务

运行不依赖用户界面,在后台运行

生命周期及用法

启动类型的服务: onCreate()- >onStartCommand()->Service running–调用context.stopService() ->onDestroy()

绑定类型的服务: onCreate()->onBind()->Service running–调用>onUnbind() -> onDestroy()

 

Broadcast Receiver: 翻译过来就是广播接收器,用于消息传递

当事件触发时发送广播,注册了广播的对象就能接收到消息

注册广播分为动态注册及静态注册

静态注册在Android manifest.xml中注册,动态在代码中注册

Content Provider

内容提供者

通过content provider为不同的应用提供数据存储和读取

通过Uri来标识唯一的访问入口

Content Provider通常会跟数据库(Sqlite)一起使用,也有网络、文件、XML的形式。

Android自带的Content Provider包括:Browser、CallLog、Contacts、MediaStore、Settings等

五、Android进程间通信

安卓系统框架介绍(安卓常用框架)

六、Context

Context是个抽象类,而Activity、Service、Application等都是该类的一个实现。在面向对象语言里面绝大多数的操作需要以对象为基础,这个时候就需要context。

安卓系统框架介绍(安卓常用框架)

七、JAVA API Framework

SystemServer:是framework中最重要的一个进程,它是在虚拟机启动后运行的第一个java进程,SystemServer启动其他系统服务,这些系统服务都是以一个线程的方式存在于SystemServer进程中。

最常用的几个服务介绍:

ActivityManagerService :AMS,管理Acvitity生命周期和事件处理

PackageManagerService :PMS,程序安装及包管理

WindowManagerService:WMS,窗口管理包括显示、View、尺寸等

Telephony Manager :通话管理

八、Android Runtime & Library

library路径:/system/lib/

So库一般是由C/C++编译成的动态库,上层的Java程序通过JNI调用

主要包含:Lib c ,OpenGL,SSL ……

Android应用都是用JAVA语言开发的,JAVA是一门解释性语言,它需要运行在虚拟机的环境下, Android Runtime和Dalvik都是解释器,Dalvik是Android 4.4以前的版本使用,ART是4.4以后的版本。

 

九、Android 代码是怎么执行的?

在 Android 中,Java 类被转换成 DEX 字节码。DEX 字节码通过 ART 或者 Dalvik runtime 转换成机器码。这里 DEX 字节码和设备架构无关。 Dalvik 使用 JIT(Just in time)编译而 ART 使用 AOT(Ahead of time)编译。

安卓系统框架介绍(安卓常用框架)

十、HAL层

HAL:HARDWARE ABSTRUCT LAYER,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。HAL 可定义一个标准接口以供硬件供应商实现,这可让 Android 忽略较低级别的驱动程序实现。

部分硬件厂商不愿意将自己硬件相关一些核心的东西开源出去,假如将对自己硬件的驱动程序全部放入内核空间驱动程序实现,那么必须遵循GPL协议,是必需开源的。有了HAL层之后,他们可以把一些核心的算法之类的东西的实现放在HAL层,而hal层位于用户空间,不属于linux内核,和android源码一样遵循的是appache协议,这个是可以开源或者不开的。

十一、Linux内核

Android驱动包含两部分,一部分是HAL层,另一部分是linux内核驱动 HAL层提供上层调用的接口,同时对接Linux内核,采用IOCTRL或者一些框架的形式来访问内核驱动 Linux内核提供各种驱动:USB,COM,WIFI,BT,CAMERA,AUDIO,FLASH

安卓系统框架介绍(安卓常用框架)

十二、AP和BP

通常来说一个Android手机包含两个处理器AP和BP

AP:Application Processor,运行操作系统和应用数据处理

BP:Baseband Processor,无线通信,信道调制,编码,包括通话,语音,短信数据业务,在此芯片上进行。

安卓系统框架介绍(安卓常用框架)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129739.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 六维空间正确网址及工具

    六维空间正确网址及工具六维空间:http://bt.neu6.edu.cn/forum.phputorrentDlut版下载: https://github.com/xdd1997/Download-or-P

    2022年7月2日
    27
  • windows10 pycharm2022.01激活【中文破解版】2022.01.27

    (windows10 pycharm2022.01激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlGTRPTN90LV-eyJsaWNlbnNlSW…

    2022年3月31日
    138
  • java递归无限层级树_算法基础课acwing下载

    java递归无限层级树_算法基础课acwing下载给定一棵 N 个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。求增加的边的权值总和最小是多少。注意: 树中的所有边权均为整数,且新加的所有边权也必须为整数。输入格式第一行包含整数 t,表示共有 t 组测试数据。对于每组测试数据,第一行包含整数 N。接下来 N−1 行,每行三个整数 X,Y,Z,表示 X 节点与 Y 节点之间存在一条边,长度为 Z。输出格式每组数据输出一个整数,表示权值总和最小值。每个结果占一行。数据范围1≤N≤60001≤Z≤

    2022年8月10日
    8
  • GoogleGoogle搜索解析

    GoogleGoogle搜索解析GoogleGoogle搜索解析是一个类似Google趋势SEO在线keyword工具。它的正式口号提出“在搜索些什么”。利用Google搜索解析,能够比較特定区域、类别、时间范围以及搜索资源之间的搜索量模式,这点也是Google搜索解析相比仅仅能提供基本信息的Googlekeyword工具。Google趋势。Google站点管理员工具以及GoogleAnalytic…

    2022年6月16日
    45
  • 多尺度地理加权回归模型_sas地理加权

    多尺度地理加权回归模型_sas地理加权mgwr软件运行了四天了,显示迭代次数才七次,请问什么时候才是个头呀?求问大佬

    2022年9月28日
    1
  • HTML5 canvas 捕鱼达人游戏

    在线试玩:http://hovertree.com/texiao/html5/33/html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠

    2021年12月24日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号