Andriod系统采用分层架构,分为4层:

  • 应用程序层(Applications)  包含所有安装在手机上的应用程序(包括系统自带的程序)
  • 应用程序框架层(Application Framework)  提供构建应用程序时要用到的各种API,比如视图(View)、Activity  Manager。
  • 核心类库(Libraries)   包含系统库和Android运行时库,系统库主要是C/C++库,Andriod运行时库中包含了Dalvik虚拟机,每个运行中的Andriod程序都是一个单独的Dalvik虚拟机实例。
  • Linux内核(Linux  Kernel)  Linux内核层为手机的各种硬件提供了底层驱动,比如显示驱动、音频驱动、照相机驱动、电源管理驱动、蓝牙驱动等。

.java文件会被编译为.dex文件,实际在Dalvik虚拟机上运行的是.dex文件。

最新文章

  1. HTML基础标签
  2. iOS-即时通讯-环信
  3. 在MVC控制器里面使用dynamic和ExpandoObject,实现数据转义的输出
  4. [转] OpenStack Kilo 更新日志
  5. 编译CDH Spark源代码
  6. Viking Village维京村落demo中的粒子距离消隐
  7. 自定义ISPF面板
  8. SqlSever基础 rtrim函数 除去字符串的右边的空格,左边中间的不管
  9. 【Unity3D游戏开发】性能优化之spine提高80~90%的效率 (三一)
  10. #linux包之sysstat之iostat命令
  11. sql基本语法:
  12. c++类的实例化,有没有new的区别
  13. 学习笔记--jQuery基础
  14. Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现
  15. java各种概念 Core Java总结
  16. react源代码重点难点分析
  17. [Swift]LeetCode847. 访问所有节点的最短路径 | Shortest Path Visiting All Nodes
  18. day10-内置模块学习(一)
  19. Java Spring Boot VS .NetCore (八) Java 注解 vs .NetCore Attribute
  20. xv6 + Qemu 在Ubuntu下编译运行教程【转】

热门文章

  1. 「翻译」Unity中的AssetBundle详解(一)
  2. rails find find_by where
  3. HDU2476 String painter —— 区间DP
  4. POJ2752 Seek the Name, Seek the Fame —— KMP next数组
  5. 更改NavigationView侧滑菜单文字颜色
  6. 动态的添加ImageView到LinearLayout中并居中显示
  7. oracle:rman恢复----通过增量备份来恢复
  8. 「LuoguT36048」 Storm in Lover
  9. javascript之常遇到的浏览器兼容问题和解决方法
  10. vue 组件 props 和event