一直从事Android开发工作,做过Android插件,做过7000万日活的浏览器。熟练使用目前流行的app的技术栈,对一些通用的跨平台方案有所涉及(Weex,flutter)。深入了解过Android内核源码,对于一些疑难问题在Stack Overflow有所贡献
APM-SDK
该项目为公司的主要项目,主要是实现获取 Android 手机端上的性能指标(如手机的启动时间,应用中的网
络请求性能指标,各 activity 中的页面显示时间等等)。其中有两部分组成:rewrite 包和 lib 包,
rewrite 包是 APP 在编译的过程中利用 ASM 框架来实现代码的注入,而 lib 包是在 APP 运行的过程中调用相
关的代码来获取对应的数据到大数据平台中分析。而在刚接手该项目的时候要面对 class 文件的结构学习
(ASM 框架是处理 class 文件框架)那时整整花了一个星期来了解相关内容才能接手后续的 webview,okhttp
等框架的代码注入。到后来为了动态实现开发者的关心指标,还研究了 view 中的 android 源码,利用
socket 连接实现 json 文件的交互,在代码中利用反射注入插入相关代码来检测 activity 页面的点击事件等
等功能(客户的使用人数就是 SDK 的稳定性的体现-太平洋保险 APP,看看新闻 APP,人鱼线 APP,加油宝 APP
等等)
vivo浏览器
是一个日活7000万的应用,在线上拥有着各种各样的适配以及版本上的兼容,业务的复杂度以及技术上的迭代复杂度都是有着深刻了解。而该项目也是为公司提供着年入几十亿的广告收入,任何一点犯错都可能影响着公司的收入。