代码质量、编码规范
自定义Lint检查
单元测试
Git-hooks - 流程控制、自动化操作
- Lint检测不通过
- 单元测试覆盖率不够
- 自动化提交翻译
- 等等
性能优化
内存优化
- 内存泄漏的检测和定位 (基础工具的使用)
- 大内存对象如Bitmap的检测与预警
启动速度 常见想法:耗时延后、访问速度、空间换时间
- 业务:初始化流程梳理、延后耗时操作
- 修改dex类方法排序。将启动过程中优先使用的类排在前面,减少检索时间
- 抑制启动过程GC,空间换时间
- 重排apk内文件顺序?优化IO访问速度?
瘦包 基础思路:在线化、压缩、删除多余、合并重复数据
apk三巨头:resource.arsc 、class.dex 、res/assert)
- 修改apk压缩方式?
- res、assert 资源压缩、在线化
- resource.arsc
- 修改编码方式?
- 资源混淆(缩减资源命名、合并MD5一致的文件
- dex文件
- 删除R文件,编译期hook 删除R文件,替换常量
- 深入了解dex格式 删除非必要信息。例如删除dex文件中的调试信息块
- Redex中在字节码层面修改、优化、例如内联函数、去除单interface等 (有点比较不可控
- META-INF 签名信息 没啥优化空间
电量、流畅度等
- 具体业务调优
性能检测
自动化测试与数据量化、日志用于暴露问题、定位、衡量优化效果
启动时间的多种计算方案
页面跳转时间
帧率
内存
移动端测试开发
大晚上看了几个相关岗位,突然有点小心动。
- UI自动化测试 Appium、Robotium、UiAutomator等
- 单元测试 Junit等
- 脚本语言 shell、Python
- 性能测试(内存、CPU、帧率、电量)相应性能优化的基础
- 自动化测试、基础信息版本对比预警
- 专项测试经验
- 图像、滤镜效果
- 相机、AR