某版本项目延期总结

某版本延期总结

问题:

技术方面:

  • OOM:风控SDK的lifelistener,致使持有activity,内存没法释放性能优化

  • 屡次操做下单流程,程序崩溃:线程管理混乱,致使线程不断建立,内存OOM(具体的缘由没有定位到,只是看到的表象)多线程

  • 并发的读写文件:多线程的文件读写,引起出来的流问题并发

暴露出来的问题:

  • SDK的测试验证过程与业务开发不一样,并且影响面更大(原先的业务测试流程没法适用),隐蔽性更大app

  • 没有紧跟bugly,没有及时发现问题框架

  • 没有关注app的性能与内存性能

  • try,catch并无及时暴露出问题测试

  • 代码方案,须要审核优化

  • 未删除不用的资源与代码线程

须要作的事情:

  • 排查全部出现线上crash的代码日志

  • SDK测试监控,流程更完善

  • B,C端的app性能监控,优化

学到的东西:

  • 开发,测试流程必须规范

  • activitylifelistener的慎重使用,建议使用弱引用

  • 并发文件的读写

  • 须要及时的反馈(反馈的重要性)

  • 第三方的框架使用更理性

  • JVM的知识须要深刻

  • 线程的知识须要深刻

  • 性能优化的知识须要深刻

SDK发布流程:

阶段一--开发自测:

  • 关注代码功能的跑通

  • 关注exception的问题

阶段二--业务方引入:

  • 日志记录

  • 关注SDK的引入,有没有引出新的exception

  • 是否引发了crash

  • 是否引发了内存泄漏,OOM

  • 线程数的泛滥

  • 是否引发了app的卡顿

  • 此阶段的SDK为SNAPSHOT版本,这个阶段的代码不作try,catch,尽量得让他崩溃,且SDK的catch(有些代码必须防止try cache的,好比文件读写)的excepton,上传到bugly

阶段三--上线:

  • 发布前,改用正式版本

  • 此阶段的SDK为release版本,会作try catch处理,同时移除exception的bugly的上传

  • 关注线上的crash

相关文章
相关标签/搜索