1.应用程序层
这一层一般我们最为熟悉了,我们平常开发安卓用java编写的app都属于这一层,当然系统自带的程序比如时钟啊,email等都是属于这一层
2.应用程序框架层(Framework)
这一层是核心应用程序所使用的API框架,为应用层提供各种接口API,包括各种组件和服务来支持我们的安卓开发,包括ActivityManager,WindowManager,ViewSystem等我们讲到AndroidFramework时很经常要提到的东西。
3.系统运行库层

  • 程序库
  • Android 运行库(Android Runtime)

4.Linux内核层
安卓系统基于Linux内核这个我们都知道,Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。

Android Framework的三大核心功能
1、View.java: View工作原理,实现包括绘制view、处理触摸、按键事件等。
2、ActivityManagerService.java :Ams 管理所有应用程序的Activity 等 。
3、WindowManagerService.java :Wms 为所有应用程序分配窗口,并管理这些窗口。

最后,因为每个Binder都会对应一个线程,所以一个含Activity的程序最少也有3个线程,分别是:1.UI主线程
2.ApplicationThread(Binder)
3.ViewRoot.W(Binder).

总结:
FramWork是给上层应用app层提供api方法和服务的应用框架层,可以称Framework层才真正是Java语言实现的层,包括三大核心功能viewsystem;AM;WM.
正式因为framwork层里面的jni(java本地服务)和系统运行层里面的c++库的交互,所以才会从C/C++的底层慢慢向上变成了JAVA的开发语言


作者:Lonely池
来源:CSDN
原文:https://blog.csdn.net/baidu_32015283/article/details/80106366
版权声明:本文为博主原创文章,转载请附上博文链接!

更多相关文章

  1. 跟Google学习Android开发-起始篇-保存数据(1)
  2. 从主流音乐应用程序中拔身出来,试试 Rocket Player 播放器吧
  3. android微信视频播放填坑指南
  4. (三) 在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱
  5. 通过串口实时打印Android内核调试log信息
  6. 开发Android应用程序,原生开发VS中间件
  7. android进程间通讯(2)--Binder解析及AIDL的使用
  8. Android(安卓)分析(一)四层结构分析
  9. Android应用程序打包时,出现错误:"XXX" is not translated in "af

随机推荐

  1. 多图片上传Android,服务器端实现
  2. Android Setting 设置项添加到快速搜索
  3. 【Android】查看程序每个方法所花费的时
  4. [android]寫一個system/bin 下的可執行文
  5. adb命令(不断补充)
  6. H5调用原生APP的js方法
  7. Android中蓝牙通信的实现
  8. Android 之 注解
  9. Android Studio MD5加密
  10. android 启动应用程序