Android 基础知识

https://www.runoob.com/android/android-architecture.html

什么是 Android?

Android 是一个开源的,基于 Linux 的移动设备操作系统,如智能手机和平板电脑。Android 是由谷歌及其他公司带领的开放手机联盟开发的。

Android 提供了一个统一的应用程序开发方法,这意味着开发人员只需要为 Android 进行开发,这样他们的应用程序就能够运行在不同搭载 Android 的移动设备上。


要区分几个概念:

android是基于linux的开源操作系统。
linux是使用标准C语言开发的操作系统。
android底层驱动以及操作系统内核使用C语言以及汇编开发。
android操作系统本身是使用Java开发,并使用JNI调用本地的C语言库,实现操作系统底层调度。

android应用是使用Java开发;同时也可以使用C/C++ native开发,但是多数时候不用用到C。所以基本上就是Java为标准开发语言。
android使用了修改过的JVM(Java虚拟机)叫做dalvik虚拟机,其本质还是Java虚拟机。
所以对应每一个APP都会创建个dalvik虚拟机,也就是一个linux进程。

说复杂了,其实就是基于linux下的修改版Java虚拟机,运行java程序。


问了老师。。也没有说太清楚。

android开发使用了linux内核,所以linux内核在最下面一层直接和硬件沟通。

图中Android Runtime 应该是android运行时的Dalvk虚拟机。第三方库、Dalvk虚拟机与linux内核进行沟通(这里据老师说,由于代码开源,第三方库可以直接和内核沟通。)

之上时应用框架与应用。

原文地址:https://www.cnblogs.com/doggod/p/11852180.html