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也凭借着自身的优 ...
随机推荐
- 使用JavaScript将图片保存至本地
在最近的开发当中,我们需要为img标签以及canvas动态绘制的图像提供下载功能,下面是经过探索后我们得出的结果. 一.Canvas 版本 // 下载Canvas元素的图片 function down ...
- DCL的失效:现实与初衷的背离
最近看了Brian Goetz写的一篇有关DCL的文章:Double-checked locking: Clever, but broken.( 2001年发表于JavaWorld上) 这篇文章讲述了 ...
- Hello TensorFlow 三 (Golang)
在一台ubuntu 16.04.2虚拟机上为golang安装TensorFlow. 官方参考:https://www.tensorflow.org/install/install_go 首先安装go ...
- My Go Resolutions for 2017(from Russ cox's blog)
我的2017年Go决议 一年之季始于春,我认为写一些今年我希望在Go上做的东西是有意义的. 我每年的目标是帮助Go开发人员.我想确保我们在Go团队中所做的工作对Go开发者有重大的积极影响.可能听起来很 ...
- webpack配置报错:invalid configuration object.webpack has been initialisted using a configuration objcet that does not match thie API schema
最近接收了别人的项目,webpack配置总是报错如下:最后找到了解决办法,在此分享一下: 错误情况: 解决办法: 将package.json里面的colors删除掉即可
- what is cdecl?
cdecl这是一个Linux上功能很强大的一个小型程序,它最主要的功能就是能帮助我们解释一个很复杂的C语言声明. 例如,我写了这样一个C语言的一个声明:int *(*g[])(int , floa ...
- C#学习之设计模式:工厂模式
最近研究一下设计模式中工厂模式的应用,在此记录如下: 什么是工厂模式? 工厂模式属于设计模式中的创造型设计模式的一种.它的主要作用是协助我们创建对象,为创建对象提供最佳的方式.减少代码中的耦合程度,方 ...
- 视频流GPU解码在ffempg的实现(一)-基本概念
这段时间在实现Gpu的视频流解码,遇到了很多的问题. 得到了阿里视频处理专家蔡鼎老师以及英伟达开发季光老师的指导,在这里表示感谢! 基本命令(linux下) 1.查看物理显卡 lspci | grep ...
- copy&deepcopy
import copy 字典参照列表结论,看是否有深层嵌套. a = {'name':1,'age':2} b = a a['name'] = 'ff' print(a) print(b) print ...
- extjs Proxy
我们先来看看Extjs非常绚丽的Grid,其功能包括显示数据列表,修改.删除,分页,排序等功能. Grid组件用来显示Store中的数据.Store可以看做是Model实例的集合.Grid仅关心如 ...