文档章节

Android开发 了解android系统的架构

h
 husky
发布于 2014/12/18 11:53
字数 643
阅读 13
收藏 0

andriod开发之前,首先要了解andriod是什么?就像Android开源和兼容性技术负责人Dan Morrill,再Android开发手册兼容性的部分说的,“Android其实不是传统LINUx风格的一个规范,或分发版本,它也不是一系列可重用组件的集成,Android到底是什么呢?它是一个用于连接设备的软件块。”

Linux

所有东西的底层是一个稳定的保持更新的Linux内核(我现在用的Nexus手机所用的就是2.6.32版的内核),以及我们精心打造的能源管理组件;当然还有将它们整合至上层Linux代码的扩展和公共组件。

Dalvik

Android另一个重要的部分,包括虚拟机和一组重要的运行环境。它的设计非常巧妙,是个很好的一个手机终端的底层应用。

代码如何生成?

Dalvik虚拟机只执行.dex的可执行文件。当Java程序通过编译,最后还需要通过SDK中的工具转化成.dex格式才能在虚拟机上执行。

我需要强调的是,Android应用本身就可视作可在平台上运行并调用APIs的代码,所以对代码如何生成不需特别看重。

特别的Apps:

在图中有些基于Dalvik虚拟机的Apps看起来像是Android的一部分,其实是由Google提供,这些应用包括Dialer、 Contact、Calendar、Gmail和Chat等。它们中的绝大部分是开源并可复用的。只有少部分例外,比如Google Maps和Android Market.

开源那些事:

在下面的图中,绿色的大部分组件是基于Apache许可证开源,其余基于GPL、LGPL和BSD。

Android框架

在Android开发者网(developer.android.com)上已有不少篇幅来帮助你使用它,在此就不再累述。

标准库

在这里“标准”是指“开发者在开源环境中一般可以使用的”。

App里面是什么

一个Android App包含在一个我们称之为APK的压缩文件夹中,APK并没有什么可说的,需要注意的是Android Manifest——介于App和Android System的接口。

Others

大多数应用,都是基于Dalvik的,这里所说的是除了游戏之外的应用。游戏开发者一般来说,希望用C语言,或者是C++来编写,排斥使用虚拟机,所以说呢,他们能通过Andriod NDK来开发。

 

本文来自麦子学院:http://www.maiziedu.com/

© 著作权归作者所有

h
粉丝 1
博文 12
码字总数 8304
作品 0
成都
私信 提问
Android Things 接替 Brillo,正式亮相

Android Things 正式接替 Brillo 亮相,名称的改变带来了什么新的内容,广大 Android 开发者如何进入这一新的领域,通过本文,你不仅会了解 Android Things 的来龙去脉。 先看外表: 再看内部...

达尔文
2016/12/29
5.4K
5
找JAVA、安卓做安徽半年现场实施

【工作职责】 按开发规范完成工作,填写每天的工作日志,汇报进展,我方将按任务完成情况进行验收。 【人员要求】 JAVA要求: 1、5年以上系统开发经验,3年以上国网项目开发经验。 2、技术能...

HR-Jane
2016/04/27
47
2
Android系统源代码分析步骤

目前,互联网行业正在朝着移动互联网方向强劲地发展,而移动互联网的发展离不开背后的移动平台的支撑。众所周知,如今在移动平台市场上,苹果的iOS、谷歌的Android和微软的Windows Phone系统...

紫地瓜
2012/11/19
600
0
移动互联遇短板 台湾IT行业大陆抢人才

21世纪经济报道 程久龙 北京报道 面对传统PC向移动互联网的转变,台湾IT行业的人才资源也面临一次由“硬”到“软”的转型。 不仅在岛内争夺升温,大量的台湾硬件厂商还把目光瞄向了内地——这...

红薯
2011/06/04
1K
6
北京某IT公司招Android Kernel层高级开发工程师(BSP),Android framework层高级开发工程师(OS工程师)

该公司是一财富500强IT公司,工作地点在北京上地。 以上职位均为正式职位,与公司直接签合同,非外派性质。 联系人:J0nas 联系方式:010-85②542⑦7 简历投递邮箱:mp0628@manpower.com.cn ...

androidkf1
2011/12/30
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

sync.Mutex 互斥锁

说明: 互斥锁用来保证在任一时刻,只能有一个例程访问某对象。Mutex 的初始值为解锁状态。Mutex 通常作为其它结构体的匿名字段使用,使该结构体具有 Lock 和 Unlock 方法。Mutex 可...

李琼涛
22分钟前
6
0
自建redis笔记

自建redis笔记 最近在linux安装了一下redis,特做一些笔记! 本文先单节点启动redis,然后再进行持久化配置,在次基础上,再分享搭建主从模式的配置以及Sentinel 哨兵模式及集群的搭建 单节点...

北极之北
25分钟前
4
0
扛住阿里双十一高并发流量,Sentinel是怎么做到的?

Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景 本文介绍阿里开源限流熔断方案Sentinel功能、原理、架构、快速入门以及相关框架比较 基本介绍 1 名词解释 服务限流 :当系统资源...

分布式系统架构
26分钟前
5
0
事假杨晨龙(Z16021)月薪请假单

svn co URL --username xxx-- password yyy ./

桃花飞舞
50分钟前
6
0
当Activity关闭后,网络请求回调的处理

当我们在使用网络请求的时候,一般都是通过回调来获取请求到的数据。对于网络请求的回调需要注意的几个点 比如我们的回调在Activity中处理数据,当我们把Activity关闭后,如果获取到数据时,...

shzwork
51分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部