Android uses Java as its programming language. The bridge between the operating system and the application program is divided into two functional layers (Library) and Virtual Machine. Bionic is the version of Android improved libc.
Android is developed in the Java language. Java also has its own powerful open source community, through which you can find answers to problems when you write. Android development tutorials, books and 2113 courses, including free and paid courses, can let you start with the 5261 Java language to get started with Android development.
Android 代码，示例 demo 和 App 都是用 Java 编写的，使用 Java 的开发者更容易转为 Android 开发者，这在一开始 Android 生态系统未能建立时，尤为重要。
Android code, example demo and app are all written in Java. Developers who use Java are more likely to become Android developers, which is particularly important when the Android ecosystem was not established at the beginning.
操作系统与应用程序的沟通桥梁，并用分为两层函数层（Library）和虚拟机（Virtual Machine），Bionic 是 Android 改良 libc 的版本。
The bridge between operating system and application program is divided into two layers: Library and virtual machine. Bionic is the version of Android improved libc.
Android 同时包含了 Webkit，所谓的 Webkit 就是 Apple Safari 浏览器背后的引擎。Surface flinger 是就 2D 或 3D 的内容显示到屏幕上，Android 使用工具链(Toolchain)为 Google 自制的 Bionic Libc。
Android also includes WebKit, which is the engine behind Apple safari. Surface flinger is to display 2D or 3D content on the screen, and Android uses the toolchain for Google’s homemade bionic libc.
Android 采用 OpenCORE 作为基础多媒体框架。OpenCORE 可分 7 大块：PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
Android uses OpenCORE as the basic multimedia framework. OpenCORE can be divided into seven parts: pvplayer, pvauthor, codec, packetvideo multimedia framework (pvmf), operating system compatibility Library (OsCl), common and openmax.
谷歌原生提供的是 java 语言编写 android app，这样 java 所有的 api 都是可以直接使用的。
Google provides the Java language to write android app, so that all Java APIs can be used directly.
使用 Java 开发应用程序能为用户带来更多的便理性，但也在一定程度上使得产品的质量被拉低。安卓系统利用虚拟机运行 Java，的效率远远低于 NDK。
Using java to develop applications can bring more convenience to users, but it also reduces the quality of products to a certain extent. Android system uses virtual machine to run Java, which is far less efficient than NDK.
同时 Java 自带内存回收机制，所以开发者使用 Java 开发 App 时往往不注意控制内存泄漏，当其进程超过虚拟机分配的阀值后，就会被系统杀掉释放内存，可能造成应用崩溃的情况。
At the same time, Java has its own memory recycling mechanism, so developers often don’t pay attention to controlling memory leakage when using java to develop app. When the process exceeds the threshold allocated by virtual machine, it will be killed by the system to release memory, which may cause application crash.