Index Detail 节点 处理人
1 Maven仓库迁移 已完成 刘欣阳
2 项目远程依赖处理 已完成 刘欣阳
3 工单详情业务分类,出流程图,整体分包。 90%;分包和1一起 崔波
4 工单照片上传由图吧逆地理更改为百度原生逆地理结果 已完成 刘欣阳
5 启动优化 40%;预计在5.6提测期间结束 刘欣阳
6 扫码 5.6提测期间完成,和组件升级并行 崔波
7 应用层事件总线优化 5.6提测期间完成,和组件升级并行 刘欣阳
8 公共组件(结合项目结构升级) 预计5.7提测期间开始
9 首页框架优化(结合项目结构升级) 预计5.7提测期间开始
10 项目结构、包结构(工程量最大) 预计5.8左右(5.7结束) 崔波

1.项目结构、包结构

重新整理项目结构和包结构,做业务分包,具体如下:

  • 对SDK封装成module形式进行依赖,相关工具类、配置文件等放到里面
  • 业务一级分包,功能分为一级和二级分包:
    • 一级:业务层、通用业务层(business)、View层组件、base(common)层、通用Bean层、工具类层等
    • 二级:适配器层(adapter)、业务Bean层、视图层、接口层等

2.Maven仓库迁移

将原有中寰maven仓库替换成沈阳现有的maven仓库,对没有的进行新建和迁移处理。并做升级和健壮性处理,具体明细如下

  1. com.aerozhonghuan:updateapp:1.3.3
  2. com.aerozhonghuan:foundation:1.0.8
  3. com.aerozhonghuan:hybrid:1.2.1
  4. com.aerozhonghuan:photoviewlibrary:1.1.4
  5. com.aerozhonghuan:zhmaplibrary:1.2.4.5
  6. com.aerozhonghuan:oknet2:1.0.8

3.扫码

原有扫码框架算法老旧,对一些条形码识别有误的问题出现频次较高。将司机版封装的扫码框架推至maven库并引用。只做扫码基类做更改,不对扫码逻辑处理。

  • zxing替换为华为ocr


4.工单详情业务分类,出流程图,整体分包。

原有工单详情涉及模块和业务较多,多人接手之后代码风格不一致,个人想法掺杂较多,分类不明确难以维护。故对业务逻辑进行梳理重新分包,总结调用流程图,不对具体业务进行处理。

  • 对原有混乱结构进行重新分类,按照业务+功能的组合形式,进行分包处理
  • 整理调用流程图
  • 功能详情清单


5.项目远程依赖处理

当前依赖版本混乱,导致冲突较多,兼容性问题较多,滥用问题较多,故作版本统一管理

  • 提取版本号
  • 强制统一版本
  • 统一类型
  • 优化依赖方式
  • 优化依赖方向

6.公共组件

对项目滥用框架进行公共组件抽取处理,相同功能性组件只保留一个,相同性质基类只留取一种,其他做精简处理

  • 基类
  • 工具类
  • 自定义View
  • 网络框架
  • 图片加载框架
  • ….

    7.启动优化

    项目启动时耗时操作过多,滥用三方初始化等

  • 对耗时操作进行精准转移处理,在合适的时机初始化
  • 延迟加载
  • 移除无用三方等

8.首页框架优化

首页UI加载缓慢,请求方式和时机滞后导致闪屏延迟等,数据加载时机频繁调用等问题

  • 优化加载方式,执行懒加载+预加载形式
  • 利用通知的方式代替无脑调用请求,造成流量浪费

9.应用层事件总线优化

通知不准确,通知滥用的问题,导致数据混乱和逻辑错误

  • 替换EventBus的封装,优化封装结构
  • LiveData


10.工单照片上传由图吧逆地理更改为百度原生逆地理结果



待解决问题:

优化方案的分支?
共轨合并操作之前还是之后?
包结构变化导致合并任务量巨大。优化优先级等


实施

1.仓库迁移:友盟依赖直接导入项目,相关配置代码直接写入项目,需要测试。
2.仓库迁移:百度地图,仓库代码做过修改,需要测试。