Android初学之路—Android系统框架

article/2025/11/10 10:44:00

从下到上依次为:

     1.Linux内核(Linux Kernel)

Android系统的最底层是基于Linux内核实现的,它负责硬件驱动、网络管理、电源管理、系统安全、内存管理等。例如它可以负责显示驱动、基于Linux的帧缓存驱动、键盘驱动、Flash驱动、摄像头驱动、音频视频驱动、WiFi驱动等。

     2. Android核心类库(Libraries)

Android系统的第二层由核心类库(Libraries)和Android运行时环境(Android Runtime)组成。核心类库包括开源的函数库,如标准的C函数库Libc、OpenSSL、SQLite等。其中WebKit是负责网页浏览器运行的类库,SGL/OpenGL是2D和3D图形与多媒体函数库,分别支持各种影音与图形文件的播放与显示,SQLite提供了轻量级的数据库管理系统。

     3.Android运行时环境(Android Runtime)

Android运行时环境也位于框架第二层,提供了Android特有的Java内核函数库。另外,Android为每个应用程序分配了专有的Davik虚拟机(Android5.0之前使用的是Dalvik,之后使用的是ART,ART与Dalvik最大的区别是,在启动ART模式后,系统在安装应用的时候都会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序的时候就不会每次都进行一次编译了,执行的效率大大提升),可以通过Java语言编写应用程序并在Android平台上同时运行多个Java应用程序。Dalvik虚拟机对有限内存、电池和CPU进行了优化,处理速度更快(相对于JVM来说,ART出来以后就是让它更快),同时拥有可在一个设备上运行多个虚拟机的特性。Dalvik虚拟机运行的.dex格式文件经过优化,占用内存非常小(ART因为要预编译,所有占用内存比Davik要大10%-20%),执行效率非常高。如果想了解ART和Davik的详细区别,大家可以去详细查一下,各位大佬比我讲得清晰。

      4.Android应用程序框架(Application Framework)

Android系统的第三层是应用程序框架,它为应用程序层的开发者提供了用于软件开发的API,由于最上层的应用程序是以Java构建的,因此该层提供的组件包含了用户界面(UI)中所需要的各种控件。相应功能有显示(TextView、button等等)、消息提供(如访问信息、分享信息)、资源管理(如图形、布局文件等)、提示消息(如显示警告消息)等。这一层也是我们开发者要必须熟知的。

     5.Android应用程序层(Applications)

Android系统的最上层是应用程序。Android系统本身已经提供了一些核心的应用程序,如主屏幕、联系人、电话、浏览器、文件管理、相机等(说白了,就是原生Android系统自带的系统应用)。同时开发者还可以使用SDK提供的API开发自己的应用程序。


http://chatgpt.dhexx.cn/article/eSoQ8t4C.shtml

相关文章

《Android框架揭秘》——2.2节搭建Android平台编译环境

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.2节搭建Android平台编译环境,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.2 搭建Android平台编译环境Android框架揭秘…

《Android框架揭秘》——2.3节搭建Android SDK开发环境

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.3节搭建Android SDK开发环境,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.3 搭建Android SDK开发环境Android框架揭秘…

《Android框架揭秘》——2.4节开发Android应用程序

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.4节开发Android应用程序,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.4 开发Android应用程序Android框架揭秘在上一节…

《Android框架揭秘》——2.1节主机环境构成

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.1节主机环境构成,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.1 主机环境构成Android框架揭秘虽然Android开发环境多…

《Android框架揭秘》——1.2节通过启动过程分析Android Framework

本节书摘来自异步社区《Android框架揭秘》一书中的第1章,第1.2节通过启动过程分析Android Framework,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.2 通过启动过程分析Android Fra…

《Android框架揭秘》——2.5节应用程序Framework源码级别调试

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.5节应用程序Framework源码级别调试,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.5 应用程序Framework源码级别调试An…

《Android框架揭秘》读书笔记--在Java中调用C库函数

简介 以下试验在Ubuntu16.04 x86,jdk安装:sudo apt-get install openjdk-9-jdk-headless,原书介绍的是在win系统实现。 步骤 第一步:编写Java代码第二步:编译Java代码第三步:生成C语言头文件第四步&#…

Android 框架揭秘 --读书笔记

Android 框架揭秘 Insied the Android Framework 转载于:https://www.cnblogs.com/drduan/p/4788554.html

android框架揭秘!Android开发者跳槽指南一线互联网公司面经总结

前言概要: 1,进大公司还是小公司,真的有的选? 2,校招的潜规则 3,校招想进大厂怎么办 4,社招的潜规则 5,社招想进大厂怎么办? 面试部门 岗位:商业化 - 高级 …

《Android框架揭秘》——导读

本节书摘来自异步社区《Android框架揭秘》一书中的目录,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 目 录 第1章 Android Framework概要 1.1 Android源代码组成1.2 通过启动过程分析Android…

Android框架揭秘读书笔记

Android启动过程 1.linux内核,加载linux内核 2 init 进程对各种设备进行初始化, 执行Daemon进程,管理USB、ADB链接管理器、Debugger系统、rild管理无线通信链接 Content Manager进程,提供运行Android各种系统服务信息 Media …

android框架揭秘!连续四年百度Android岗必问面试题!实战篇

前言 今天想停下代码,写点脑袋里不断浮现出来的一些看法。 也就是最近在微博和知乎上老看到“互联网寒冬”的说法。要么是看到啥公司薪水无法如期发放了,要么是看到别人说什么“裁员了,没有交接,签字然后电脑还了就走人&#xf…

字节大佬封神之作《Android Framework高级开发笔记》,完整版开放下载

在现阶段的Android开发工作中,无论是底层,还是应用层,Framework都至关重要。Framework的火热程度,相信我也不必再赘述。 为帮助大家深度学习Framework背景及它的巨大作用,这里分享一份《Android Framework高级开发笔记…

ANDROID框架揭秘

本书通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及 主要组件的工作原理。作者直接分析和整理了Android框架的主要源代码,并详细讲 解了理解框架工作原理所需的各种基础知识和构成实际Android平台骨干的服务框架。 其中的主要内容包括…

用Java写linux命令行cd,java执行linux命令cd

java执行linux命令cd [2021-01-31 01:51:23] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff1…

Linux 常用命令与教程

http://c.biancheng.net/view/705.html C语言编程网的教程很好 还有菜鸟教程的 还有这个 https://mp.weixin.qq.com/s/7bSwKiPmtJbs7FtRWZZqpA 讲的也不错 https://baike.baidu.com/item/PS/8850709 百度百科 搜索一个linux命令 会出来这个 〇、序言:命令基本格式…

最强的linux命令总结.pdf

白月光-焰灵姬 来源:掘金- Lion https://juejin.cn/post/6938385978004340744 | 编辑:五角钱的程序员 前言 Linux 的学习对于一个程序员的重要性是不言而喻的。前端开发相比后端开发,接触 Linux机会相对较少,因此往往容易忽视它。…

linux命令 视频教程,常用的linux命令视频教程

常用的linux命令视频教程 [2021-02-19 11:27:41] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#…

ps 命令详解

From:http://blog.chinaunix.net/uid-25681671-id-3201927.html 进程和作业管理命令:http://man.linuxde.net/sub/进程和作业管理 Linux 关于 进程/线程 的命令 kill 和 pgrep 和 pidof 和 awk 和 pkill 和 killall:https://blog.csdn.net/fr…

Linux命令详解词典高频命令(三)

ln(link) 功能说明:链接文件或目录。 语法:$ ln [参数] [被链接文件] [链接目录] 包名称:coreutils 相关命令:cp,lndir,symlinks 补充说明:ln命令用在链接文件或目录,如同时指定两个以上的文件或目录&…