这几年,Android開始慢慢流行起来,非常多项目也開始涉及这部分内容,所以学习Android也就变的非常有意义了。

学什么

学习Android应该学什么,非常多人有不同的见解。一般程序猿可能仅仅是学习Android的UI控件和Android的API使用等。高级程序猿可能会研究一下Android的FrameWork和Android的实现原理。相对于这两者,顶级的程序猿会深入的了解Android的层次架构和设计思想并将这些架构和设计思想加以改造、优化之后应用在其它方面。你会怎么做呢?

Android层次架构

既然要学习Android,那么就要从最有魅力架构和设计理念開始。首先咱们先来看一下Android的架构设计图,例如以下所看到的:
一样的Android,不一样的学习
从上面图中,我们能够看出,这个Android的架构从上到下分为四层,各自是应用程序层、应用程序框架层、系统执行库层以及Linux内核层。

应用程序层

应用程序层主要包含一些应用程序,这一层能够简单的理解为我们能够在移动设备上看到的的各种软件和应用。这些软件和应用都是能够被程序开发者开发的其它应用程序替换和更新的,这一点相对于早期固化在系统内部的移动端软件更加的灵活和个性化。

应用程序框架层

应用程序框架层主要面对的是Android的应用开发者,它为Android开发者开发应用提供了很多可重用的组件,同一时候,它也同意开发者替换这些组建。通过这一层,开发者能够开发丰富的应用,开发者开发的应用全然能够使用其它应用已开发的功能。

系统执行层

从上图所看到的,系统执行层能够分为两部分:一部分是Android提供的Lib库,还有一部分是Android的执行时。
所谓Lib库,事实上就是相应用程序框架层的支撑,它所实现的全部功能都是通过应用程序框架层对外提供,并将Linux内核和应用程序框架层进行连接。
Android的执行时类似于Java的执行时机制,能够分为API核心库和一个类似于JVM的虚拟机Dalvk。这部分能够參考JVM进行理解和学习,这里不再赘述。

Linux内核层

Android从本质上来讲,就是在Linux的基础之上进行的一次封装。通过利用Linux Kernel作为硬件和软件之间的抽象层的,并其为上层提供的安全、内存管理、进程管理、网络堆栈、驱动模型等服务的特性,Andorid终于实现了它最基础的核心架构和设计。

通过上面的分析,我们能够清晰的认识到,Android的设计最核心的就是分层。可是怎样分层这就是我们要关注的了,所以,学习Android不在于做出一个应用,而是通过学习Android分析它的架构,借鉴、完好、应用并创造价值。


学习终于要的不是学什么,而是想学什么,做人不在于你做什么,而是你想做什么。

更多相关文章

  1. 使用Android adb命令来启动Android应用程序
  2. Android 的系统架构
  3. 每一位Android开发者应该知道的Android体系架构和开发库
  4. 独立的android开发者开发app如何盈利
  5. android完全退出应用程序
  6. Android 应用程序请求Vsync
  7. 打包Android应用程序
  8. Android架构组件- Room数据库的使用
  9. Android架构组件-WorkManager

随机推荐

  1. 【Android开发小记--9】触摸事件---实现
  2. Android(安卓)导入项目出错
  3. Android(安卓)inject input events 注入T
  4. android 自定义PopupMenu详解
  5. Android(安卓)setLayerType 硬件加速问题
  6. Android和IOS开发资料
  7. Android(安卓)内核源代码交叉编译纺
  8. android的零星基础点(多媒体)之一
  9. android sd卡数据库读取
  10. 给动态生成的View添加水波纹效果