个人项目总结
亮点
作文批改项目
通过集成物体检测引擎,截取作文纸内容进行OCR识别,提升OCR识别速度和识别效果,同时支持多OCR任务并行,提升识别效率
在批改引擎存在性能瓶颈的情况下,使用Grpc流式分步返回方式,并行执行子引擎,客户端执行分步渲染,实现快速批改效果
通过AI能力和大模型实现虚拟老师的效果
批改场景通过自定义动画实现模拟老师真实批改标注效果
写前通过动效+语音转写+TTS文字转语音结合大模型对话实现虚拟老师语音对话功能
建立大模型Grpc连接,本地AudioRecord采集用户音频输入,PCM转Speex提升IST引擎识别效率,将识别结果传输到大模型侧,使用TTS引结合虚拟老师发音人实现大模型播报,达到真实对话效果
专注乐园
基于订阅发布模型及反射原理设计安卓与Unity通信组件,结合Unity库实现安卓与Unity混合渲染及通信
通过安卓多进程及进程保活优化Unity游戏启动速度,通过本地计算拼图块变化避免Unity频繁渲染优化应用性能
通过背压抽帧策略减轻引擎数据处理压力,提升识别的实时性,同时通过享元模式避免重复创建同样大小的数组和Bitmap优化内存抖动
基础库
提升团队开发效率
优化
1、包体积优化
字母数字等场景的字体提取减少字体库大小
Tiny图片压缩
动图压缩及抽帧,部分安卓原生绘制
使用TTS合成代替本地音频
2、启动优化
引擎异步初始化
启动页背景
首页背景使用Glide异步加载webp图片
3、内存优化
集成leakcanary与讯飞自研卡顿内存泄漏检测库,优化内存泄漏,静态类+弱引用解决内部内持有外部引用,引擎的释放,页面退出时取消动画,回调的移除,全局变量的清理,避免占用大量内存控件的频繁创建,IO流的关闭,Bitmap的recycle
4、卡顿优化
减少层级嵌套
RecyclerView的局部刷新
主线程耗时操作
内存/CPU占用过高导致的卡顿
内存泄漏优化,引擎抽帧策略,无使用时停止等
过度绘制
层级嵌套
merge include 使用效率更高的FrameLayout LinearLayout ConstraintLayout