一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

作为一个工作了好几年的Android应用层开发者,准备在工作之余干一件事情,那就是分享一些Android系统知识,为什么决定要做这个呢,理由如下:

帮助更多人转型Android系统开发

不知何时起,单纯的Android应用层开发越来越少了,主流技术演变也越来越快,从之前的rxjava到如今的协程,从之前MVC到如今的MVVM,还有Flutter、Compose等技术,可以说是日新月异。 当我们在使用这些技术时,通常会犯一个毛病,那就是使用简单,深入困难。随便新技术,可能几天就上手了,但是没有深入理解,时间久了,就容易欠下许多技术债。

这里我提到了转到Android系统开发,也并非是一定的好方向,只是觉得可以多一条路而已,毕竟有很多相通之处。在Android系统中,涉及的知识更多,从充当基石的Linux到各种C 库的native层,再到我们熟悉的 Framework层,还包括虚拟机、驱动等,这里关联的知识非常多,更适合个人能力提升和沉淀。

在Android应用层开发进阶

这个说起来并非易事,可能在很多人的认知里,Android开发就是主要用来实现UI和交互,但是现在小程序和混合开发大行其道,真正留给Android开发的工作量可能会越来越少。

基本方向

Android系统的架构官方经典图献上:

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

从下到上分别是:

  1. Linux内核:Android平台的基础是Linux内核,Android虚拟机依靠Linux内核来执行底层功能,比如线程和底层内存管理。同时基于Linux内核可以让Android系统更加稳定,并且允许设备制造商为著名的内核开发硬件驱动程序。
  2. 硬件抽象层(HAL):为特定类型的硬件提供标准的接口,比如相机和蓝牙模块,这样各个硬件厂商就可以按需开发驱动程序。
  3. Android Runtime:这个便是Java代码运行需要的虚拟机,现在一般都是ART虚拟机,ART虚拟机可以执行DEX文件来运行Java代码。
  4. 原生C/C 库(native层):许多核心Android系统组件和服务都是用C/C 代码编写,比如OpenGL ES等,而Java和Native由JNI技术打通。
  5. Java Framework层:这里就是我们经常使用的一些Java API,包括各种服务,比如AMS、WMS等,也是Android framework开发最常修改的部分。
  6. APP层:这里就是我们平时开发的APP所在的层级,这里就更侧重前面说的性能优化和各种黑科技了。

上面大致列了Android系统的层级, 这里就要对每个层级所需要的相关知识做如下列举,这些仅仅只是罗列了很少一部分,有时间之后会进行补充,想要学明白这些点都需要花费大家非常多的精力, 但现在很多人迫在眉睫想要学好学会Framework关于如何学习Android Framework开发知识,仍在迷茫的开发们可以参考整理的这份进阶文档《Android Framework 源码开发手册》,今天在这里分享给大家:

获取方法: 关注本人公众号<Android苦做舟> 或 联系作者 领取这些Android进阶开发文档

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

1.Android高级开发工程师必备基础技能2.Android性能优化核心知识笔记3.Android 音视频进阶开发面试题冲刺合集4.Android 音视频开发入门到实战学习手册5.Android Framework精编内核解析6.Flutter实战进阶技术手册7.近百个Android录播视频 音视频视频dome

1.Framework通信

进程间通信(Binder IPC机制)

  • Linux内存binder基础
  • Binder IPC通信原理
  • 深入Binder驱动
  • Binder面试总结(阿里篇)

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

进程内通信(Handler消息机制)

  • Loop消息泵机制
  • Message解析
  • Handler面试分享(鹅厂

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

实战企业架构通信

  • LiveData事件机制

2.Framework底层服务

AMS原理

  • SystemServer加载AMS
  • AMS数据结构
  • AMS数据结构
  • Activtiy栈管理
  • 手机开机启动的AMS流程
  • App启动中的AMS流程
  • Activtiy管理
  • AMS面试集合
  • AMS原理实战

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

PMS原理

  • Packagelnstaller安装器流程分析
  • PMS源码解读
  • T10级面试PMS总结

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

WMS机制

  • WMS内核
  • Window的创建过程
  • 企业级Toast与Window架构体系
  • T10级岗位WMS面试总结

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

3.Framework系统资源

ServiceManager原理

  • init.rc文件启动关键服务
  • service_ manager进程入口
  • ServiceManager消息轮训
  • ServiceManager服务存储之svclist链表
  • ServiceManager面试总结

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

深入Contxt上下文

  • Context与ApplicationContext
  • Context族谱分析
  • Contextmp与ActivityThread
  • getActivity()与getContext ()内存区别
  • 带你认识不一样的上下文Context

深入Resource资源加载

  • resources.arsc文件
  • ResourcesManager创建Resource
  • LoadedApk与Resource关系

4.Framework事件机制

事件分发机制

  • Android事件处理的三个流程
  • 事件信号从内核到IMS过程
  • IMS如何推送数据给ViewRootimp转入上层
  • Android处理Down事件的责任链模式
  • Android处理Move事件
  • 手写模拟Android事件分发架构

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

事件冲突解决万能公式

  • 产生冲突事件分类
  • 产生冲突事件分类
  • 事件冲突优先级
  • 事件冲突模拟实战

5.Framework UI机制

UI绘制原理

  • setContentView加载数据的核心概念
  • ViewRootlmpl的绘制管理
  • Choreographer编舞者
  • 测量机制(onMeasure)
  • 摆放机制(onLayout)
  • T10级面试UI绘制总结

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

UI自定义实战

  • RecycleView
  • Webview
  • ViewPager

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

需要更多开发资料可以关注本人的公众号<Android苦做舟>领取这些Android进阶开发文档~

一个Android应用层开发如何转型深入Android Framework?(安卓应用层开发)

1.Android高级开发工程师必备基础技能2.Android性能优化核心知识笔记3.Android 音视频进阶开发面试题冲刺合集4.Android 音视频开发入门到实战学习手册5.Android Framework精编内核解析6.Flutter实战进阶技术手册7.近百个Android录播视频 音视频视频dome

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年3月21日 上午8:07
下一篇 2023年3月21日 上午8:17

相关推荐

  • 中铁六局信阳项目部:以经济效益为导向让大商务管理落地项目(中铁六局信阳公路项目部)

    大河报·豫视频 记者 李鑫 通讯员 杨瑞春   为快速落实和推动公司大商务体系建设实施方案,4月18日晚,中铁六局路桥公司信阳项目部组织业务部门召开大商务管理宣贯动员会,对项目商务…

    科研百科 2022年12月11日
    554
  • 浙江省茶产业科技创新服务平台在我院茶叶所成立

      3月9日上午,由我院茶叶所牵头,联合浙江大学、中华全国供销合作总社杭州茶叶研究院和杭州市农业科学研究院4家核心单位共同组建的浙江省茶产业科技创新服务平台(以下简称“平台”)成立…

    科研百科 2022年5月19日
    313
  • 鼻炎科研项目介绍怎么写

    鼻炎科研项目介绍怎么写 鼻炎是一种常见的疾病,困扰着许多患者。科研项目介绍是向外界介绍一个科研项目的过程,需要介绍科研项目的背景、目的、方法、结果和结论等。下面是一个可能的鼻炎科研…

    科研百科 2025年4月21日
    1
  • 项目管理适合

    项目管理适合 项目管理在现代社会变得越来越重要。无论是企业还是个人,都需要通过项目管理来协调和整合各种资源和工作,以实现项目目标。本文将探讨项目管理的基本概念和技巧,帮助读者更好地…

    科研百科 2024年7月28日
    61
  • 工程项目管理表格软件

    工程项目管理表格软件 随着信息技术的不断发展,工程项目管理已经成为现代项目管理中不可或缺的一部分。工程项目管理表格软件是用于协助项目经理和团队成员进行项目管理的工具,可以提高项目的…

    科研百科 2024年8月28日
    38
  • 优质高产杂交中粳“徐稻六号”通过审定

      我院甘薯所育成的优质高产中晚熟杂交中粳新品种“徐稻6号”,日前通过了山东省农作物品种审定委员会审定。  “徐稻6号”以引进品种95-3为母本、3114为父本杂交选育而成。200…

    科研百科 2022年5月20日
    425
  • 杭州项目管理系统哪家好

    杭州项目管理系统哪家好? 随着数字化时代的到来,企业项目管理水平也越来越重要。杭州作为我国的数字化城市之一,拥有着许多优秀的项目管理系统。那么,杭州项目管理系统哪家好呢? 对于企业…

    科研百科 2025年1月18日
    0
  • 项目经费申请报告

    项目经费申请报告 尊敬的领导: 我谨向贵单位申请本次项目经费,用于支持我们的项目进展。 本次项目的名称是“XXX”,是一项XXX项目,旨在XXX。该项目的的目标是XXX,并需要XX…

    科研百科 2024年7月12日
    44
  • 内蒙古中医药科研项目内蒙古中医药科研项目

    内蒙古中医药科研项目 近年来,内蒙古中医药领域取得了许多重要的科研项目。这些项目不仅推动了内蒙古中医药事业的发展,也为国内外的医学研究提供了重要的支持和启示。本文将介绍一些内蒙古中…

    科研百科 2024年9月13日
    39
  • 如何策划优秀科研项目

    如何策划优秀科研项目 科研项目的策划是成功实施的关键步骤之一。一个好的科研项目应该具有明确的研究目标和计划,并能够满足学术界和工业界的需求。以下是一些策划优秀科研项目的建议: 1….

    科研百科 2025年3月12日
    1