Android简介(一)
Android构架
Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用架构层、系统运行库层和Linux核心层。
1. Application 应用程序层:用Java语言编写的运行在虚拟机的程序

用户直接使用的应用功能,其基本应用比如:电话、联系人、短信、邮件等,还包括无数第三方应用。
2. Application Framework 应用架构层:编写Google发布的核心应用程序的API框架

开发应用程序使用的基础组件,相当于供应用程序调用的API、Java开发,包括:丰富的界面控件、Content Provider,数据存储组件,应用程序可以通过Content Provider分项数据给其他应用,也可以访问其他程序的数据,A Resource Manager,资源管理器,帮助应用程序访问图片,布局文件等资源,Notification Manager,提示信息管理器,Activity Manager,主要负责管理应用程序的生命周期和调用栈等。
3. Android Runtime 系统运行库层:包括程序库和 Android 运行库两部分

包括两个部分,一是运行环境:应用程序的运行空间,包括一个实现Java语言大多数功能的核心库,以及一个类似Java虚拟机的Dalvik虚拟机,所有应用程序都是运行在虚拟机中。二是库文件界面:一系列的C/C++库,相当于Android系统在Linux核心系统上的功能扩展,为Application Framework层的许多功能提供支持。
4. Linux Kernel 核心层:Android依赖于 Linux 2.6 版内核提供的核心系统服务

包括基本的操作系统组件,包括内存管理,进程管理,存储管理,网络栈,驱动模型等。Linux 内核也同时作为硬件和软件栈之间的抽象层。
Android系统特点
1. 开放性
2. 应用程序无限性:Android上的应用程序可以通过标准API访问核心移动设备功能,通过互联网,应用程式可以声明它们的功能可供其他应用程序使用。
3. 应用程序是在平等条件下创建的:移动设备上的应用程序可以被替代或扩展。
4. 应用程序可以轻松嵌入网络
5. 应用程序可以并行运行:在后台运行时,应用程序可以生成通知来引起用户注意。
Android简介(一)的更多相关文章
- 《第一行代码》之——1.Android简介
Android简介 Android系统架构 (图片源自维基百科) Android大致分为四层架构,五块区域. Linux内核层 Android系统基于Linux2.6,这一层为Android设备的各种 ...
- 喜闻乐见-Android简介
本文主要是对Android系统做一个简介,包括其架构.启动流程.沙箱机制.APK.Darlvik以及ART. 1. 架构 Android是基于Linux内核开发出的一个移动操作系统,系统结构大致可以分 ...
- Android开发-API指南-Android简介
Introduction to Android 英文原文:http://developer.android.com/intl/zh-cn/guide/index.html 采集日期:2014-4-16 ...
- android自学笔记(1):android简介
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大陆地区较 多人使用“安卓 ...
- Android 简介:Android SDK 和开发框架简介
理解Android软件栈: 库: C/C++库(libc,SSL) Android 运行时可以让Android手机从本质上与一个移动Linux实现区分开来.Dalvik并不是Java虚拟机,是一个基于 ...
- Android 简介
一 Android起源 android: 机器人 android是google公司开发的基于Linux2.6的免费开源操作系统 2005 Google收购 Android Inc. 开始 Dalvik ...
- 【译】Android系统简介
简介 本文主要介绍Android的基础知识和体系结构,本文主题: 简介什么是Android,为什么开发者需要关注Android: Android体系结构(如Linux Kernel, Librari ...
- 【Android实战开发】3G技术和Android发展简介
随着移动设备的不断普及和发展,相关软件的开发也越来越受到人们的关注,其中要提及的就是Android开发.本系列博客主要为大家介绍Android的开发,可能会有人问:现在互联网上已经有很多的Androi ...
- Android在智能终端领域的关键技术专题讲座(成都站)
Android系统引领了终端智能化的浪潮,在民用.公 共及工业等诸多领域得到了广泛的应用,涉及手持终端.电视.汽车导航.工业控制等,在云计算.设备智能化等方面表现卓越.Android也凭借着自身的优 ...
随机推荐
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- python Is 与== 的坑
以前看过一篇python技术贴,说用is替代==,这样更加pythonic?然后我就能把用'=='的地方用'Is'替代,结果程序运行结果的偏差很大,甚至完全不同.后来发现,Is与==使用上是有区别的. ...
- ubuntu 编译运行 opencv C++ 项目
ubuntu 编译运行 opencv C++ 项目 环境 ubuntu 16.04 opencv3.4.0 一. 编译方法 1)命令行 g++ imageResize.cpp -o resize `p ...
- Linux小记
一.在vim中如何查看正在编辑的文件名 在正常模式下: :f 或 CTRL+G 查看文件的路径 用:!pwd 可以看当前的详细路径. 二.crontab 在crontab中, 命令crontab -e ...
- JavaScript的DOM编程--05--获取文本节点
获取文本节点: 1). 步骤: 元素节点 --> 获取元素节点的子节点 2). 若元素节点只有文本节点一个子节点, 例如 <li id="bj" name=" ...
- vue2 递归组件--树形
递归组件,官方给的教程太简便了,根本看不出到底怎么用.于是自己查网摸索了一下,这儿只把核心思想写出来. 效果如下图,点击后打开二级菜单,再点击后打开三级. //js //引子//思想:当v-if='f ...
- jQuery 数据操作函数(九)
.clearQueue() 从队列中删除所有未运行的项目. .data() 存储与匹配元素相关的任意数据. jQuery.data() 存储与指定元素相关的任意数据. .dequeue() 从队列最前 ...
- Anaconda使用
转自PeterYuan 序 Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows的时候.为了解决这些问题,有不少发行版的Python, ...
- [Spark性能调优] 第二章:彻底解密Spark的HashShuffle
本課主題 Shuffle 是分布式系统的天敌 Spark HashShuffle介绍 Spark Consolidated HashShuffle介绍 Shuffle 是如何成为 Spark 性能杀手 ...
- 【Tarjan缩点】POJ2186 Popular Cows
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 35644 Accepted: 14532 De ...