- 熟悉 Java语⾔,熟悉多线程(synchronized,voliate,ThreadLocal ,线程池等),了解 jvm 基础知识,常见数据结构
- 了解动态加载技术和内存优化
- 了解 Handler 机制,事件分发机制,⾃定义 View等
- 了解 MVC、MVP、MVVM
- 设计模式:单例模式,观察者模式,代理模式等
- Android 开发库与组件: OkHttp,Livedata,Retrofit等
DataService ( 2022年10月 ~ 2024年1月 )
一个信息采集App,像应用明细,内存占用状态,mac地址,定位信息等等。应用主要职责为了解
机具使用状态;定制采集客户需要的信息;采集特定硬件的使用信息,为硬件故障做排查。
迭代优化,完成对不同机型的适配需求
开发需求中,能够考虑项目的可维护性,减少发版
针对不同安卓版本的适配,如针对安卓13新增媒体读取权限等
对当前项目做了内存优化,使用Android Profiler分析内存使用情况,定位内存使用峰值代码,
进行代码优化,使用时间换空间,优化后运行内存峰值从55M左右优化到29M左右。
对当前项目做了轮训优化,减少AlamaManger唤醒系统退出Doze模式次数,从而减少电耗
DMP云管端 SDK
该项目是为了DMP端应用可跨Android厂商设备运行。商米的应用市场,OTA升级等软件所需要的
接口在不同的厂商下,是不一致的,如获取设备SN、应用静默安装/卸载能力、系统升级能力,为
了让这些应用能在不同厂商机具下运行,提供DMP SDK,统一接口。
通过抽象的方式定义接口,隐藏各个SDK内部的具体实现细节,只暴露出通用的、抽象的操作
接口给外部使用。
考虑到不同SDK有不同的错误处理方式和错误码,设计接口时统一错误处理机制,将不同SDK
的错误信息转换为统一的格式向上层抛出
开发过程中了解熟悉动态加载技术,对动态加载技术的流程有了一定了解,学习了解插件与宿
主apk的类和资源的隔离实现
PosRouter 2期
该项目是一个UI显示部分和交易报文组分离的金融应用,商米金融收银台需要接入多家支付通
道,然而支付通道间的差异点通常只有UI页面和交易报文这两部分,该项目2期为了解决不同项目
都需要重复UI代码这一问题而做
在该项目针对不同组件,不同页面,和不同流程,做了界面可配置能力的实现,减少了后续收
银台开发者的界面开发时间,提升了开发效率
定义组件,页面,流程的界面配置优先级,从而解决不同配置间的界面覆盖问题。
使用范型,使得不同组件实现接口时,设置配置的方法能够拿到不同类型的配置类参数
通过重写反序列化和反射实现老配置到新配置的适配
SCHN2101-Lisbon 标签称
该项目是一个AI称重应用,主要做了打印标签的界面的绘制
标签管理页面,自定义键盘、Button等视图
拖拽能力与界面坐标数据等的联动功能
角色 | 职位 |
负责人 | 安卓开发工程师 |
队员 | 安卓工程师 |