我在此项目主要负责项目的管理,模块的划分。
- 解决考试场景下时间过长的时候导致的卡顿内存抖动问题,经排查是因为在WebSocket中不断的用Gson对数据解析生成新的对象。通过自定义GsonAdapter加对象池的方式解决该问题。
- 为了提升崩溃日志写入速度,在native层通过使用mmap减少了系统调用数据拷贝内核带来的性能损耗.
- 修改Butterknife的事件绑定实现,采用代理模式加入对网络检测的控制,减少了网络判断的模板代码的编写.
- 为了解决Android5.0以下MediaPlayer不支持音频倍速播放的问题,使用 SoundPool 编译动态库,兼容了 Android5.0 以下的倍速播放。
- 为了解决TextView中英文混合的时候在行尾不能对齐的问题,采取自定义TextView的方式,自行绘制文字,达到和微信读书同样的排版效果。
- 自定义View实现折线图,饼图,雷达图,直观展示学生的成绩等信息。