一样的Android,不一样的学习

桃扇骨 2022-08-23 14:49 305阅读 0赞
  1. 这几年,Android开始慢慢流行起来,很多项目也开始涉及这部分内容,所以学习Android也就变的很有意义了。

学什么

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

Android层次架构

  1. 既然要学习Android,那么就要从最有魅力架构和设计理念开始。首先咱们先来看一下Android的架构设计图,如下所示:

SouthEast

  1. 从上面图中,我们可以看出,这个Android的架构从上到下分为四层,分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层。

应用程序层

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

应用程序框架层

  1. 应用程序框架层主要面对的是Android的应用开发人员,它为Android开发人员开发应用提供了许多可重用的组件,同时,它也允许开发人员替换这些组建。通过这一层,开发人员可以开发丰富的应用,开发人员开发的应用完全可以使用其他应用已开发的功能。

系统运行层

  1. 从上图所示,系统运行层可以分为两部分:一部分是Android提供的Lib库,另一部分是Android的运行时。
  2. 所谓Lib库,其实就是对应用程序框架层的支撑,它所实现的所有功能都是通过应用程序框架层对外提供,并将Linux内核和应用程序框架层进行连接。
  3. Android的运行时类似于Java的运行时机制,可以分为API核心库和一个类似于JVM的虚拟机Dalvk。这部分可以参考JVM进行理解和学习,这里不再赘述。

Linux内核层

  1. Android从本质上来讲,就是在Linux的基础之上进行的一次封装。通过利用Linux Kernel作为硬件和软件之间的抽象层的,并其为上层提供的安全、内存管理、进程管理、网络堆栈、驱动模型等服务的特性,Andorid最终实现了它最基础的核心架构和设计。
  2. 通过上面的分析,我们可以清晰的认识到,Android的设计最核心的就是分层。但是如何分层这就是我们要关注的了,所以,学习Android不在于做出一个应用,而是通过学习Android分析它的架构,借鉴、完善、应用并创造价值。
  3. 学习最终要的不是学什么,而是想学什么,做人不在于你做什么,而是你想做什么。

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读

    相关 一样Nginx教程

    Nginx是一个高性能的http服务器,可以部署静态资源,做反向代理和负载均衡等内容,随着现在项目的流量越来越大,如果提升项目的并发访问量是一个比较流行的技术难题。为了更全面的

    相关 一样二分查找

    不一样的二分查找 > 大家肯定一定非常熟悉二分查找法,如果面试官让你写个二分查找法,估计你会在被子里偷笑,但是如果让人查找目标值的最小索引,即如果有多个相同值,直接返回最

    相关 一样hello world

    一. 简介   最近学习了一些C内联汇编的知识,简单的尝试了一下,发现里面有很多有趣的东西,分享如下。首先说明,本文的内联使用仅为一个小例子,并不规范,另外32位和64位

    相关 非常一样面试

    今天面试了因赛公司的前端开发,本来去的时候我是不太想去的了,但是最后还是去,想着就算不行也当去一下经吧。最后的面试的时候可以说是我面过这么多次试最free的一次。面试官没问我太