一.Android的平台架构及特性
Android系统的底层建立在Linux系统之上,该平台由操作系统,中间件,用户界面和应用软件4层组成。采用一种被称为软件叠层的方式进行构建。

1.应用程序层(System Apps)
Android系统将会包含一系列的核心应用程序,包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人等,这些应用程序通常都是用Java编写的。

2.应用程序框架(Java API Framework)
Java 语言编写的 API 使用 Android OS 的整个功能集。这些 API 形成创建 Android 应用所需的构建块,它们可简化核心模块化系统组件和服务的重复使用。

3.函数库(Native C/C++ Libraries)
Android包含一套被不同组件所使用的C/C++库的集合,一般来说,Android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库。
下面列出一些核心库:
1> libc库;
2> 媒体库(Media Framework):
基于PacketVideo的OpenCORE,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片。
3> Surface Manager:
管理对显示子系统的访问,并可以多个应用程序的2D和3D图层提供无缝整合。

4.Android运行时(Android Runtime)
Android运行时由两部分组成:Android核心库集和ART,其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序。

5.硬件抽象层 (HAL)
硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。

6.Linux内核
Linux内核提供了安全性,内存管理,进程管理,网络协议栈和驱动模型等核心服务。

Android学习笔记之Android平台架构和特性相关推荐

  1. Android学习笔记:Android基础知识点(不断更新中)

    1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...

  2. Android学习笔记(Android Studio)3-3(ProgressBar ProgressDialog)(加载进度条、转圈圈)UI组件之弹出组件

    Android学习笔记3-3 推荐新手向学习视频:B站https://www.bilibili.com/video/av38409964点我传送 3-3 ProgressBar & Progr ...

  3. Android学习笔记之Android Studio添加新的Activity

    1.创建Android项目工程:AndroidTest 创建过程可参考网上诸多教程. 2.添加新的Activity,步骤如下 a. 在layout文件夹上右键,New-Activity-相应Activ ...

  4. Android学习笔记之android:collapseColumns,android:shrinkColumns和stretchColumn

    TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果.本文主要介绍TableLayout的基本使用 ...

  5. Android学习笔记(四):android画图之paint之setXfermode

    2019独角兽企业重金招聘Python工程师标准>>> setXfermode 设置两张图片相交时的模式 我们知道 在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状. ...

  6. Android学习笔记之 android:collapseColumns ,android:shrinkColumns 和stretchColumns

    TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果.本文主要介绍TableLayout的基本使用 ...

  7. pro android学习笔记,Pro Android学习笔记(六八):HTTP服务(2):HTTP POST-Go语言中文社区...

    BufferedReader in = null; try{ //[Step 1]创建一个HttpClient的对象(或使用已有的) HttpClient client = new DefaultHt ...

  8. Android学习笔记之-Android性能测试之DDMS的使用

    转载:http://www.cnblogs.com/zhuque/archive/2013/04/02/2995802.html 安装/配置: 通过另外一个工具也可以测试手机客户端APP的性能,这就是 ...

  9. android将彩图转为黑白_[Android学习笔记九] Android 开发中图片灰阶(黑白)显示...

    阅读本文之前关于将RGB颜色值转换为灰阶值的计算方法可参见: 灰阶显示图片的典型应用就是用户头像,如用户在线头像显示彩色(原图),不在线显示灰色(黑白图).总结一点就是更加一张原始图片来通过颜色的过滤 ...

最新文章

  1. 在Foreda8上试安装Apchehttpd-2.4.6.tar.gz
  2. POJ 1661 Help Jimmy DP
  3. 【转载】SAP 计划策略组40、50对比分析
  4. 全民大乐斗场服务器状态,看到最近很多人问重修,**说一下这个问题
  5. byteman_Byteman –用于字节码操纵的瑞士军刀
  6. java 线程 free_Java进阶05 多线程
  7. rsync同步工具学习笔记
  8. InternetCheckConnection 通过尝试连接特定的网址,可以用来判断目前机器是否接通外网
  9. 【Vue.js 知识量化】Promise
  10. 4.3配置自定义情况的Bean实例
  11. JavaScript高级程序设计(第四版) 第二章 HTML中的javascript
  12. 淘宝店铺950自定义模块实现1920全屏代码
  13. DRV8833直流电机驱动模块代替 TB6612FNG电机驱动
  14. DM8达梦数据库:sql查询达梦数据库实例的详情
  15. 光线跳线转接太多,断网了
  16. tolower c语言,C 库函数 tolower() 使用方法及示例
  17. SpringBoot 整合Activiti(二)——流程审批完整示例
  18. 【产品】智能管道设计运维一体化平台 - AIPIPE 2022R2版本新功能详解
  19. HTML 用过渡跟动画制作一个简易的旋转魔方
  20. 2021最新 腾讯云服务器配置LNMP环境并安装wordpress

热门文章

  1. BLV脉动阵列实现矩阵SVD分解
  2. Oracle踩坑之路--ORA-01861:文字与格式字符串不符
  3. 【IoT】加密与安全:哈希 Hash 算法用途与原理解析
  4. 运维老鸟分享linux运维发展路线规划
  5. OpenSUSE 内核编译教程 (kernel 2.6.x)
  6. 串列配置(Tandem)在Kintex-7互联TRD中的实现
  7. STM32C8T6的FreeRTOS移植
  8. Python中各种进制之间的转换
  9. 大数据学习之Linux服务器常用命令
  10. Prometheus pod 流量监控