- 自我介绍
- 您好,我是黄池行,一名拥有9年Android系统开发经验的资深工程师,专注于系统框架深度定制与性能优化。目前寻求Android研发工程师岗位,可快速到岗,期待在武汉或深圳发挥技术专长。
- 专业背景
- 技术领域:深耕Android Framework层开发,熟悉WMS、AMS、SurfaceFlinger等核心模块源码,主导过5个十万+级设备系统项目,系统启动速度提升20%,崩溃率降低70%。
- 工具能力:精通Systrace、Perfetto、MAT等性能分析工具,擅长定位内存泄漏、线程竞争及IPC通信瓶颈。
- 行业经验:覆盖车载系统、智能座舱、平板/折叠屏设备等场景,熟悉高通/MTK/海思等芯片平台适配。
- 职业成就
- 车载系统优化(丰疆智能)
- 作为系统负责人,主导智能座舱性能优化项目,通过重构Zygote预加载机制,冷启动时间从6.2秒缩短至3.5秒;优化蓝牙协议栈,掉线率降低80%。
- 构建ANR全链路监控体系,ANR率降至<0.01%,系统整体性能提升20%。
- 双屏异显开发
- 定制Android HAL层与USB HID驱动,实现主控设备与外接平板双屏独立触控,触控延迟<15ms,量产交付10万台+,售后故障率<0.5%。
- ROM兼容性调优
- 解决海思芯片GPU驱动与Android O框架兼容性问题,修复200+系统Bug,CTS/GTS测试通过率从85%提升至99%。
- 核心优势
- 工程思维:从需求分析到量产落地全程主导,开发自动化工具链降低30%人力成本,输出标准化技术文档20篇。
- 协作能力:擅长跨部门(硬件/算法/测试)协作,曾带领攻坚小组解决启动卡顿等疑难问题,故障率下降60%。
- 技术转化:擅长将复杂技术转化为商业竞争力,如通过性能优化提升用户满意度15%,助力产品差异化竞争。
- 希望能在贵公司发挥技术积累,为智能终端系统的高性能与高稳定性贡献力量。
工作经验
2022.3-至今 丰疆智能科技有限公司 Android系统开发负责人
1、负责Android系统安全加固/可维可测/性能提升/技术预研等专项工作
2、负责Android系统ANR/异常死机等系统稳定性问题修复
3、负责Android系统框架层4G、wifi、蓝牙、系统安全等模块Bug修复
2020.4-2022.3 江苏润和软件股份有限公司 Android研发工程师
1、主导Android系统类新需求方案调研与开发落地
2、负责Android系统分屏相关问题修复
3、负责Android系统框架层AMS、WMS、PMS、Input模块bug修复
2015.3-2020.4 武汉诚迈科技有限公司 Android研发工程师
1、负责系统ROM层定制需求开发工作
2、负责系统性能优化和稳定性研发工作
3、负责系统应用如Settings、Launcher、SystemUI需求开发和维护工作
Android系统架构与源码定制
熟悉WMS、AMS、View、SurfaceFlinger等核心模块工作原理,主导完成5个十万+级设备系统框架项目,系统启动速度提升20%,产品崩溃率降低70%
WMS工作原理:
WMS 主要负责管理系统中所有窗口(Window)的生命周期和布局。它作为系统服务运行于系统进程中,为应用程序提供窗口层级管理、窗口动画、窗口属性的更新等服务。
工作原理:
- 窗口管理与层级控制:
WMS 接收到来自 AMS 或应用程序的窗口请求后,会将各个窗口按 Z 轴顺序排列,决定哪个窗口处于最前、哪个窗口处于后台。 - 窗口布局与尺寸计算:
在窗口添加或尺寸变化时,WMS 会触发窗口重新布局,计算各个窗口的位置和尺寸,确保界面按照用户预期呈现。 - 输入事件分发:
WMS 还负责将用户的触摸、键盘等输入事件分发给当前最前端且可交互的窗口。 - 安全与权限检查:
在窗口显示过程中,WMS 会进行权限校验,确保只有具有相应权限的应用才能创建系统级窗口(例如悬浮窗)
AMS工作原理:
AMS 是 Android 系统中负责管理应用程序和 Activity 生命周期的核心服务。它调度应用进程、管理任务栈、处理系统内存压力以及跨进程通信等。
工作原理:
- 进程与任务管理:
AMS 负责启动、停止应用进程,维护各个应用进程的优先级(如前台、后台、服务进程),同时根据任务栈(Back Stack)的顺序决定哪些 Activity 应该显示。 - Activity 生命周期调度:
当用户启动应用时,AMS 会调用 ActivityThread 的方法来启动 Activity,并依次执行 onCreate、onStart、onResume 等生命周期回调。 - 内存管理:
当系统内存不足时,AMS 会通知相关进程进行内存回收,并在必要时杀掉占用内存较多或后台优先级较低的进程,以保证系统整体稳定。 - 广播与服务管理:
AMS 还负责管理系统广播、服务的启动与停止,这对于应用间通信和后台任务调度至关重要
View 工作原理:
View 框架是 Android 应用开发中用于构建用户界面的基础组件。它提供了一整套用于绘制、布局和事件处理的 API。
工作原理:
- 视图层级结构:
每个 Activity 通常包含一个根 View(如 ViewGroup),它又包含多个子 View。通过层级结构构成复杂的 UI 界面。 - 绘制流程:
当视图需要刷新时,会经过 measure(测量尺寸)、layout(确定位置)和 draw(绘制)三个阶段。- Measure: 遍历整个视图树,根据父子关系计算各个 View 的大小。
- Layout: 确定每个 View 在屏幕上的位置。
- Draw: 调用每个 View 的 draw() 方法将内容绘制到 Canvas 上。
- 事件分发:
View 框架中还包含触摸、点击等事件的分发机制(如 dispatchTouchEvent、onTouchEvent),确保用户的输入能够正确传递到目标 View 上。 - 动画与重绘:
通过 Invalidation(失效)机制,View 框架能够仅重绘发生变化的部分,配合 Choreographer 实现高帧率动画和流畅的交互效果
SurfaceFlinger 工作原理:
SurfaceFlinger 是 Android 系统中的系统合成器(compositor),主要负责将各个应用的 Surface(窗口缓冲区)组合成最终显示到屏幕上的图像。
工作原理:
- Surface 缓冲区管理:
应用通过 SurfaceView 或 TextureView 等创建 Surface,这些 Surface 由各自的应用进程更新。SurfaceFlinger 负责管理这些 Surface 的缓冲区。 - 合成与显示:
SurfaceFlinger 将多个 Surface 的内容(通常是通过 OpenGL ES 渲染)合成到一个最终的帧中,并将该帧传递给硬件显示器。 - 垂直同步(VSync):
SurfaceFlinger 以 VSync 信号为节拍,确保各个 Surface 的合成与屏幕刷新同步,从而避免撕裂现象并提升视觉体验。 - 层次与透明处理:
SurfaceFlinger 负责处理窗口之间的层级关系和透明度混合,确保窗口正确叠加显示。
总结
- WMS:作为窗口管理服务,负责窗口的层级、布局、输入分发和安全管理;
- AMS:管理整个应用进程及 Activity 生命周期,负责调度、内存管理和任务管理;
- View 框架:构成 UI 的基础,处理布局、绘制和事件分发,是用户交互界面的核心;
- SurfaceFlinger:作为系统合成器,将各个应用的 Surface 合成最终画面并输出到显示设备ÿ