一.android系统架构图及各层介绍

1. 应用层:应用是用java语言编写的运行在虚拟机上的程序,好比通信录,日历,电话,短信,浏览器等。
2. 应用框架层:这一层是编写Google发布的核心应用时所使用的API框架,开发人员一样可使用这些框架来开发本身的应用,这样便简化了程序开发的结构设计,可是必需要遵照其框架的开发原则。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。
3. 统运行库(C/C++库以及Android运行库)层:当使用Android应用框架时,Android系统会经过一些C/C++库来支持咱们使用的各个组件,使其更好的为咱们服务,好比其中的SQLite(关系数据库),Webkit,chromium(Web浏览器引擎),Dalivk,ART(Android Runtime)。
4.Linux内核层:Android的核心系统服务基于Linux内核,如安全性、内存管理、进程管理、用户权限管理、网络协议栈和驱动模型等都依赖于该内核,好比Binder IPC(Internet Process Connection进程间通讯)驱动,android的一个特殊驱动程序,具备单独的设备节点,提供进程间通讯的功能。
如果从事Android应用开发,那应该研究Android的应用框架层和应用程序层;如果从事Android系统开发,那应该研究Android的系统库和Android运行时;如果从事Android驱动开发,那应该研究Android的Linux内核。找准定位,事倍功半。
二. 随笔整理(导读)
Android 应用层:
Android 框架层:
三.学习资料
1.Android源码 https://pan.baidu.com/s/15PNt1W4jjxZXM9o-qCC94A 密码:p3tdhtml
2.Android 6.0 离线API https://pan.baidu.com/s/17E01X32lHOrz0FN_QlXmwQ 密码: styijava
3.探索Android FrameWork底层开发视频 https://pan.baidu.com/s/14BiZNm2C362afq3K-c3AJA 密码: i7ydandroid
个人系列随笔只是做为一个本身的学习笔记,理解程度没法与两位大牛著做对比,可是能够做为读者或者本身初步探索Android源码和理解其实现原理的第一步。
在工做中,会发现,其实不少东西,咱们都会,可是就是讲不出来。学计算机出生,保持严谨性是必须的,有时候正由于时刻的严谨性,让咱们不敢轻易对一些概念东西给出本身观点,怕说错,归根究竟是对其实现原理理解不够透彻,让咱们畏手畏脚的进行总结。“大胆假设,当心验证” 我想这句话能够做为咱们学习技术的一个参考。
附上android知识体系图: