《第一行代码》读书笔记(一)

Author Avatar
wshunli 12月 06, 2017
  • 在其它设备中阅读本文章

《第一行代码》读书笔记 — 平台架构

《第一行代码》读书笔记(一)— 平台架构 (第1章)
《第一行代码》读书笔记(二)— 应用组件之 Activity (第2、4章)
《第一行代码》读书笔记(三)— 应用组件之 Service (第10章)
《第一行代码》读书笔记(四)— 应用组件之 BroadcastReceiver (第5章)
《第一行代码》读书笔记(五)— 应用组件之 ContentProvider (第7章)
《第一行代码》读书笔记(六)— 数据存储方案 (第6章)
《第一行代码》读书笔记(七)— 多媒体资源 (第8章)
《第一行代码》读书笔记(八)— 网络编程 (第9章)

我最开始学习 Android 是在 2014 年下半年,看的是《疯狂Android讲义》。

在 2015 年参加 ESRI 中国组织的 GIS 开发大赛,也是主要在暑假学习了不少 Android 入门知识。

后面在较长一段时间,感觉停滞在 Android 入门的水平不前。也有尝试在项目中使用一些优秀的框架或者类库,但是感觉自身的水平并没有多大的提高。

所以有意在前面学习计算机基础、Java 语言基础,后面打算深入之后学习下数据结构及算法。也为明年找工作做准备。

其实这本书 《第一行代码》 在考研结束以后已经看过一遍了,这次再复习一遍,毕竟有一段时间没有具体做 Android 开发了,再者希望能记忆一些常用的知识点。

第1章 开启启程

Android 系统架构

总的来说,Android的系统体系结构分为四层,自顶向下分别是:

  • 应用程序(Applications)
  • 应用程序框架(Application Frameworks)
  • 系统运行库与 Android 运行环境(Libraris & Android Runtime)
  • Linux 核心层

1.Android系统架构

Linux核心层

Linux 内核(Linux Kernel)
Android 平台的基础是 Linux 内核,Linux 内核直接和硬件打交道。硬件驱动、进程管理、内存管理、网络管理的功能在这里实现。

硬件抽象层(Hardware Abstraction Layer)
硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。
HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。

系统运行库层

Android 运行环境(Android Runtime)
每个应用都在其自己的进程中运行,有其自己的 Android Runtime (ART) 实例(Android 5.0 之前是 Dalvik)。
并且 Android 还包含一套核心运行时库,可提供 Java API 框架使用的 Java 编程语言大部分功能。

原生C/C++ 库(Native C/C++ Libraries)
许多核心 Android 系统组件和服务(例如 ART 和 HAL)构建自原生代码,需要以 C 和 C++ 编写的原生库。
Android 平台提供 Java 框架 API 以向应用显示其中部分原生库的功能。

应用框架层

Java API 框架(Java API Framework)

提供构建应用的各种 API 。这些 API 形成创建 Android 应用所需的构建块,它们可简化核心模块化系统组件和服务的重复使用,包括以下组件和服务:

  • 丰富、可扩展的视图系统,可用以构建应用的 UI,包括列表、网格、文本框、按钮甚至可嵌入的网络浏览器。
  • 资源管理器,用于访问非代码资源,例如本地化的字符串、图形和布局文件。
  • 通知管理器,可让所有应用在状态栏中显示自定义提醒。
  • Activity 管理器,用于管理应用的生命周期,提供常见的导航返回栈。
  • 内容提供程序,可让应用访问其他应用(例如“联系人”应用)中的数据或者共享其自己的数据。

开发者可以完全访问 Android 系统应用使用的框架 API。

应用层

系统应用(System Apps)

所有安装在手机上的应用程序都属于应用层,包括系统自带的软件和自己开发的软件。

搭建 Android 开发环境

前面已经写过了,不再重复。
《ArcGIS Runtime SDK for Android学习笔记》-1、Android开发环境搭建 | CirGIS
https://www.wshunli.com/posts/f6977dbb.html

参考资料
1、平台架构 | Android Developers
https://developer.android.com/guide/platform/index.html
2、Android系统架构简介 - 简书
http://www.jianshu.com/p/69f0d25c727a
3、Android系统架构介绍 - LCore的专栏 - CSDN博客
http://blog.csdn.net/lcore/article/details/20993367
4、android系统体系结构 - CSDN博客
http://blog.csdn.net/spy19881201/article/details/5775484
5、Android系统开篇 - Gityuan博客 | 袁辉辉博客
http://gityuan.com/android/

如果本文对您有所帮助,且您手头还很宽裕,欢迎打赏赞助我,以支付网站服务器和域名费用。 https://paypal.me/wshunli 您的鼓励与支持是我更新的最大动力,我会铭记于心,倾于博客。
本文链接:https://www.wshunli.com/posts/df51fd76.html