Android 进阶学习笔记整理

一.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 源码分析(一) 开篇介绍
  2. Android 源码分析(二) Activity 启动分析
  3. Android 源码分析(三) Service 启动分析
  4. Android 源码分析(四) Handler 异步消息机制
  5. Android 源码分析(五) Zygote 进程
  6. Android 源码分析(六) SystemServer 进程
  7. Android 源码分析(七) Launcher 桌面程序启动分析
  8. Android 源码分析(八) Launcher 桌面启动App过程
  9. Android 源码分析(九) Init 启动分析
  10. Android 源码分析(十) Dalvik 虚拟机建立过程
  11. Android 源码分析(十一) 事件传递机制Android源码分析(十二)ServiceManager服务分析
  12. Android源码分析(十二)ServiceManager服务分析
  13. Android源码分析(十三)ActivityManagerService服务分析
  14. Android源码分析(十四)PackageManagerService服务分析

三.学习资料

  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 框架层研究比较透彻的两位大牛的bolg,他们帮助我加深了不少概念的理解。感谢他们。
  《深刻理解Android系列》丛书的做者: http://www.cnblogs.com/innost
  《Android系统源代码情景分析》做者: https://blog.csdn.net/Luoshengyang/
        个人系列随笔只是做为一个本身的学习笔记,理解程度没法与两位大牛著做对比,可是能够做为读者或者本身初步探索Android源码和理解其实现原理的第一步。
       
        在工做中,会发现,其实不少东西,咱们都会,可是就是讲不出来。学计算机出生,保持严谨性是必须的,有时候正由于时刻的严谨性,让咱们不敢轻易对一些概念东西给出本身观点,怕说错,归根究竟是对其实现原理理解不够透彻,让咱们畏手畏脚的进行总结。“大胆假设,当心验证” 我想这句话能够做为咱们学习技术的一个参考。
 
 
附上android知识体系图
  
相关文章
相关标签/搜索