Android群英传笔记—第1章 Android体系与系统架构
来源:互联网 发布:海岛大亨4 mac 汉化 编辑:程序博客网 时间:2024/06/11 17:53
1.1Google生态系统
1.2Android系统架构
Android大致分为了四层,即Linux内核层,库和运行时,Framework层和应用层。
1.2.1Linux
Linux层,Android最底层最核心的部分。Linux层包含了Android系统的核心服务,包括硬件驱动,进程管理,安全系统,等等。
1.2.2Dalvik与ART
Dalvik包含了一整套的Android运行环境虚拟机,每个App都会分配Dalvik虚拟机来保证互相之间不受干扰,并保持独立。它的特点是在运行时编译。而在Android5.X版本开始,ART模式已经取代了Dalvik,ART采用的是安装时就进行编译,以后运行就不用编译了。
1.2.3 Framework
1.2.3 Standard libraries
包含的是Android中的一些标准库,就是开发者在开源环境中可以使用的开发库。
1.2.5 Application
Application可以说是一个大环境,他就是整个项目的意思,管理所有的东西
1.3 Android App 组件架构
Android四大组件,指的是Activity,BroadCastReciever,Content Provider和Service,他们是组成一个Android App 的最基本元素。
1.3.1 Android四大组件是如何协同工作
主要还是看应用场景,但是也是各自都是相互有些许联系的,Activity负责界面,展示数据,数据的来源可以通过资源获取,Contentprovider也可以获取其他应用的信息,还有一个不需要用户看到的操作可以用Service来处理,而且Android系统在执行某种特定的操作的时候回发出一个广播出来,我们可以用BroadCastReceiver去接收,他们之间的信息联动靠的是Intent这个信使,是一样四大组件的运行即是独立也有紧密的联系
1.3.2 应用运行上下文对象
在程序中,我们可以理解为当前对象在程序中所处的一个环境,一个与系统交互的过程
Activity,Service,Application都是继承Context。
Android应用程序会在如下所示的几个时间点创建上下文Context。
- 创建Application
- 创建Activity
- 创建Service
创建Context的时机就是在创建Context的实现类的时候。当我们程序第一次运行并且创建application的时候,同时也创建了一个application context,所有的组件都共同拥有这样一个Context对象,这个应用上下文对象贯穿整个应用进程的生命周期,为应用全局提供了功能和环境支持。而现在创建activity和service的时候,我们就已经实例了context对象,这就意味着可以直接使用this了,而在非context运行环境下,就需要xxxx.this了
1.4 Android系统源代码目录与系统目录
1.4.1 Android系统源代码目录
查看Android源代码的网站:http://androidxref.com/
Mackfile解析:一个像Android这样大的工程,源码肯定是有很多的,而且种类更是繁多,这些文件都是由一个叫做Mackfile的文件来管理的,他有自己的规则来归类这些信息,比如编译规则,打包规则,所以Mackfile就像一个shell脚本,不仅可以使用自己的语法,而且可以调用操作系统的命令 Mackfile确实很强大,最大的好处是这货还能自动化编译,所以机制形成了,编译也就有条不紊 的进行着了
1.4.2 Android系统目录
在Android手机中,系统的目录结构与源代码目录结构还是有所不同的,通过ADB连上手机,通过Linux的ls命令查看Android系统的根目录。
- /system/app/ : 一些系统的APP
- /system/bin/ :linux自带的组件
- /system/build.prop : 系统的属性信息
- /sysytem/fonts/ : 系统字体存放目录,root后可下载TTF格式字体替换原字体
- /system/framework/ :系统的核心文件,框架层
- /system/lib/ : 存放几乎所有的共享库(.so)文件
- /system/media/ : 存放系统提示音,系统铃声。
- /sysytem/usr/ : 用来保存用户的配置文件
- /data/app/ : 包含用户安装的App或者升级的App
- /data/data/ : 开发者访问最多的目录,这里包含了App的数据信息,文件信息,数据库信息,以包名的方式来区分各个App
- /data/system/ : 包含手机的各项系统信息
- /data/misc/ : 保存了大部分WIFI ,VPN 信息
1.4.3 Android APP文件目录
略
- Android群英传笔记—第1章 Android体系与系统架构
- Android群英传学习笔记(1)--Android体系与系统架构
- 阅读徐宜生《Android群英传》的笔记——第1章 Android系统与系统架构
- 【1】Android体系与系统架构——Android群英传开发笔记
- Android群英传第一章笔记·Android体系与系统架构
- Android群英传 第一章-体系与系统架构
- Android群英传笔记——第一章:Android体系与系统架构
- 《Android群英传》读书笔记1.Android体系与系统架构
- Android群英传——第一章Android体系和系统架构
- Android群英传知识点回顾——第一章:Android体系与系统架构
- Android群英传学习——第一章、Android体系与系统架构
- 《Android群英传》笔记1——Android系统架构
- 《Android群英传》学习笔记 ---Android系统架构
- Android群英传笔记-第3章 Android控件架构与自定义控件详解
- Android基础——1:Android体系与系统架构
- Android群英传笔记——第三章:Android控件架构与自定义控件讲解
- Android群英传笔记——第三章:Android控件架构与自定义控件讲解
- 《Android群英传》阅读笔记——第三章:Android控件架构与自定义控件详解
- Android开发图片缓存框架Glide的总结
- List排序
- Android推送 利用REST API实现从客户端推送(百度云推送)
- [Java]HashMap的底层实现
- 在显示屏上显示的数字的方法
- Android群英传笔记—第1章 Android体系与系统架构
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 当Android遇到单例模式
- 3D到2D的投影:正交投影与透视投影
- java中==与equal()方法的区别
- The Singleton pattern
- Hadoop大数据NameNode体系结构
- BZOJ1015 [JSOI2008]星球大战starwar——逆向思维并查集+路径压缩
- 回溯法求0/1背包问题