学习指南-写个目录-记个思路

试着成为更好的人,才能保护重要的人

作者 Moonshot 日期 2018-12-05
学习指南-写个目录-记个思路

代码质量、编码规范

  • 自定义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 签名信息 没啥优化空间
  • 电量、流畅度等

  • 具体业务调优

性能检测

自动化测试与数据量化、日志用于暴露问题、定位、衡量优化效果

  • 电量 Battery Historian

  • 启动时间的多种计算方案

  • 页面跳转时间

  • 帧率

  • 内存

移动端测试开发

大晚上看了几个相关岗位,突然有点小心动。

  • UI自动化测试 Appium、Robotium、UiAutomator等
  • 单元测试 Junit等
  • 脚本语言 shell、Python
  • 性能测试(内存、CPU、帧率、电量)相应性能优化的基础
  • 自动化测试、基础信息版本对比预警
  • 专项测试经验
    • 图像、滤镜效果
    • 相机、AR