(1) 熟悉 Java 技术,了解常用的设计模式(单例,装饰者,观察者,职责链模式),研
究过反射,自定义注解,Java 类加载机制,Java 内存管理机制,Java 泛型,了解如
何通过泛型控制安全的读写以及 APT 字节码插桩技术。
(2) 并发编程,包括 AQS 的基本思想、CAS 原理、Synchronized、锁升级、线程
池等;
(3) Android 虚拟机与类加载机制以及插件化、热更新、组件化技术,动态换肤。
(4) Compose,Lua, Kotlin 语言,能够使用 Kotlin 语言进行编程;
(5) 第三方开源框架 OKHttp,Retrofit 等开源框架;
(6) 熟悉安卓异步通信 Handler 机制,熟悉 Binder 跨进程通信原理,熟悉安卓事件分发
机制和 UI 绘制原理;
(7) 研究过 Jetpack 常用组件的源码,理解他们的设计原理;
(8) 了解部分安卓性能优化工具的使用,理解常用的性能优化方式;
项目一:UI组件库搭建与开发
起止时间:2022.7-2024.5
项目描述:开发整个公司的基础UI组件库
职责业绩:(1)完成30余个组件的开发;(2)持续迭代并解决组件问题。
使用技术:ViewBinding+自定义属性和主题+Transitions动画+性能优化
技术描述:采用ViewBinding技术,避免了findViewById引起的错误,实现了与布局XML的安全、高效交互,显著提高代码的可读性和维护性。通过定制一系列UI属性和主题,确保了组件的一致性和样式多样性,提高了库的可用性和扩展性。利用Transitions框架,设计了直观的Activity转场动画,增强了页面连贯性。此外,通过使用LayoutInspector和Profiler+GPURendering工具,分析并优化了布局性能,通过减少过度绘制、优化内存使用和启用硬件加速,有效提升了渲染效率和流畅度。
项目二:折叠屏适配起止时间:2022.12-2023.1
项目描述:收集技术方案,完成公司所有APP的折叠屏适配
职责业绩:(1)推进所有业务线完成折叠屏适配;(2)提供基础库方便业务线判断与调用;
使用技术:屏幕比例和分辨率适配。技术描述:开发了一套屏幕适配方案,实现APP布局在折叠屏状态变化时的动态调整,通过基础库简化了业务线的适配工作。
项目三:包体积优化
起止时间:2022.12-2023.5
项目描述:收集方案,减小包体积
职责业绩:(1)推进所有业务线完成资源清理等;(2)分析占用体积较大的三方依赖。
使用技术:Lottie资源压缩+图片资源压缩+重复资源清理+三方依赖技术描述:引入压缩工具,对所有Lottie动画资源和图片进行了彻底压缩,平均减少文件大小约50%,节省了约8MB空间。此外,使用Matrix工具识别并清理了大量重复资源,进一步精简了应用。关注并优化了含so文件的三方库依赖,实现了约5MB的额外减少,有效降低了应用的总体积,同时保持了动画和图片的视觉质量。
项目四:Blue端智能
起止时间:2021.09-2022.04
项目描述:分析用户行为,通过输入的数据进行推理,预测用户未来的行为的一款SDK
职责业绩:(1)调试工具的开发与迭代;(2)解决项目崩溃问题;(3)搭建实时监控平台;
使用技术:MVVM架构+ASM插桩+ViewPager/Fragment嵌套UI框架技术描述:为监控方法执行时长,采用ASM插桩技术实现了自动化埋点。同时,开发了基于MVVM架构的SDK调试工具,使用Jetpack组件优化设计。并建设了异常监控体系,采用Builder和模板模式优化数据处理。
项目五:融通宝典
起止时间:2018.04-2018.09
项目描述:一款针对保险行业的应用,实现团队,成员,客户,薪酬的管理,以及保险查询,保单添加等功能;首次在项目中使用MVP框架,降低代码的耦合性,提升可维护性。
职责业绩:薪酬管理、业绩管理、团队管理、保单管理四个模块的设计;
使用技术:GreenDao+Volley+ARouter+MVP技术描述:使用GreenDao管理本地数据库,存储查询联系人信息;多模块间Activity跳转通过ARouter实现,增强代码规范性。