河南理工大学Android开发课程:共40学时(24理论学时、16实践学时),学分2.5。

Android四层结构

404

  • 应用层(System Apps)
    系统内置的应用程序以及非系统级的应用程序都属于应用层,负责与用户进行交互,一般使用Java或者Kotlin开发,也就是我们所说的应用层开发。

  • 应用框架层(Java API Framework)
    这一层为应用层开发提供所需要的Java API,也就是常说的Android系统的Java源码,这一层由Java代码编写,所以叫JavaFramework。

  • 系统运行库层(Native)
    从图中可以看出这里分为了两个部分,分别是C/C++程序库和Android运行时库。

    1. C/C++库
      这些C/C++库程序可以被应用框架层所使用,至于为什么Android系统要使用C/C++库,而不都用Java库,原因主要是C/C++代码执行效率更高,而且很多功能有成熟的C++代码,不用重新写

    2. Android运行时库

分为核心库和ART。*(Android运行时环境(ART)自Android 4.4版本引入,并在后续版本中逐步取代了原有的Dalvik作为Android平台的默认运行时环境。)*其中核心库提供了Java语言核心库的大多数功能,这样开发者可以使用Java语言来编写Android应用。而ART则是专门为移动设备定制的Java虚拟机,在之前还有被淘汰的Dalvik虚拟机。ART和JVM还是有很大的区别,它是由C++编写,用来运行Java程序,所以非常关键。而且Android系统还允许同时允许多个ART实例,所以在Android系统中,每个进程都有一个虚拟机,一个APP发生崩溃不会影响其他APP。

  • Linux内核层(Linux Kernel)
    Android的核心服务是基于Linux内核,同时在该基础上添加了Android专用的驱动,比如Binder。由于Linux系统的优秀性,Android在基于Linux于安全性、内存管理、进程管理等都有很大优势。