Android的基本世界观——系统简介,组件逻辑及其他

本文是Android Developer的入门指南,介绍了Android系统的历史、架构和关键特性,重点解析了Android四大组件(Activities、Services、Content Providers、Broadcast Receivers)的概念和功能,并概述了开发过程中的应用资源和权限管理。文章强调了了解Android基本世界观的重要性,包括系统与组件逻辑,为Android开发打下基础。
摘要由CSDN通过智能技术生成

前言

作为一个有半年余Android Developing折腾经验的Android Developer(为什么不说“开发经验”呢?因为我仔细想了想,我还没有独立地做出一个完善美观且有使用价值的应用。),要系统地学习安卓平台的基本开发技能,那么第一步,了解并熟识Android的基本世界观,应该就是十分必要的了。以前这方面的知识体系不成系统,比较破碎零散,故借此文稍作整理。

我认为在进入任何一个比较复杂的知识技能体系之前,都需要先用基本世界观来热热身。对于高中物理而言,初中数学物理知识就形成了基本世界观;对于近体诗写作而言,平水韵和对仗的修辞手法就是基本世界观;而对于Android,基本世界观则包括了Android系统的简介、四大组件的含义、以及其他一些基本的开发逻辑。

Android系统

历史与现状

Android(Android System),是一个基于Linux内核的开源移动操作系统,由Google旗下的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发,主要设计用于触屏移动设备,如智能手机和平板电脑等。Android 1.0 beta于2007年11月5日问世,至于世界上第一部真正意义上使用Android操作系统的设备,则是2008年10月22日发布的HTC Dream。Android系统采用Linux宏内核,系统核心语言是C和C++,主要的编程开发语言是Java。截止2016年初,Android的最新版本是Android 6.0“Marshmallow”(棉花糖)。

安卓6.0

系统与系统架构

Android系统执行于Linux kernel之上,但并不是GNU/Linux。实际上,Android大都并不支持GNU/Linux的一些功能。除了基于Linux的核心之外,则是中介层、数据库元和用C/C++编写的API以及应用程序框架。Android的系统架构如下图所示——

安卓系统结构

可见,系统架构大致分为四层:Linux内核层,核心库层(以及运行环境),应用框架层和应用层。

Linux内核层比较底层,通常也是对Developer隐藏的。

Android Runtime与Libraries层:
Android的应用程序通常以Java为基础编写,运行程序时,应用程序的代码会被即时转变为Dalvik dex-code(Dalvik Executable),然后Android操作系统通过使用即时编译的Dalvik虚拟机来将其运行。也就是说,Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例(这也保证了如果一个Android应用程序进程意外中止,将不会影响到其它应用程序进程的正常运行。)。Dalvik Virtual Machine在某种角度上很像是JVM(至少我感觉如此),但实际上它们还是有不小的差异的。JVM是堆栈机器(基于Stack),但Dalvik VM是寄存器架构的机器。JVM执行class格式文件,而Dalvik VM执行dex格式文件。 Dalvik VM会通过执行dex码文件来完成堆栈管理、线程管理、安全异常管理、垃圾回收等重要功能,这些也和JVM很像。
Android系统还会通过一些C/C++库来

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值