摘要 | 第5-6页 |
Abstract | 第6页 |
第一章 绪论 | 第11-18页 |
1.1 课题研究背景 | 第11-12页 |
1.2 研究目标 | 第12-13页 |
1.2.1 移动应用性能监控概述 | 第12-13页 |
1.2.2 研究意义 | 第13页 |
1.3 国内外研究现状 | 第13-16页 |
1.3.1 国外研究现状 | 第13-15页 |
1.3.2 国内研究现状 | 第15-16页 |
1.4 本文主要工作 | 第16页 |
1.5 论文组织结构 | 第16-17页 |
1.6 本章小结 | 第17-18页 |
第二章 关键技术与平台架构设计 | 第18-27页 |
2.1 实现的关键技术 | 第18-21页 |
2.1.1 Android应用编译过程 | 第18页 |
2.1.2 自动化构建工具Gradle | 第18-20页 |
2.1.3 字节码修改技术 | 第20-21页 |
2.1.4 Spring Boot框架 | 第21页 |
2.2 平台架构设计 | 第21-25页 |
2.2.1 监控SDK整体架构设计 | 第21-23页 |
2.2.2 数据存取与上报功能设计 | 第23-24页 |
2.2.2.1 缓存模块设计 | 第23页 |
2.2.2.2 上传模块设计 | 第23页 |
2.2.2.3 实现流程 | 第23-24页 |
2.2.3 数据分析中心 | 第24-25页 |
2.2.4 基于Android应用的热修复 | 第25页 |
2.3 本章小结 | 第25-27页 |
第三章 SDK基础功能实现与WebView性能监控 | 第27-39页 |
3.1 SDK基础功能实现 | 第27-30页 |
3.1.1 自动化埋点需求 | 第27-28页 |
3.1.2 Transform API | 第28页 |
3.1.3 编写Gradle Plugin | 第28-30页 |
3.1.4 字节码修改实现 | 第30页 |
3.2 WebView性能监控 | 第30-38页 |
3.2.1 交互方式 | 第31-32页 |
3.2.2 页面加载性能分析 | 第32-35页 |
3.2.2.1 页面性能数据 | 第32-33页 |
3.2.2.2 JavaScript异常 | 第33-35页 |
3.2.3 Ajax性能分析 | 第35-36页 |
3.2.4 页面点击事件 | 第36-37页 |
3.2.5 具体实现方案 | 第37-38页 |
3.3 本章小结 | 第38-39页 |
第四章 基于Android应用的异常检测 | 第39-51页 |
4.1 实现背景 | 第39页 |
4.2 内存泄漏 | 第39-42页 |
4.2.1 根搜索算法与Java引用方式 | 第39-40页 |
4.2.2 内存泄漏的产生 | 第40页 |
4.2.3 检测内存泄漏 | 第40-42页 |
4.3 卡顿检测 | 第42-47页 |
4.3.1 造成卡顿的原因 | 第42-43页 |
4.3.2 卡顿检测方案 | 第43-46页 |
4.3.2.1 Choreographer帧率检测方案 | 第43-44页 |
4.3.2.2 Looper字符串匹配方案 | 第44-46页 |
4.3.3 实现卡顿检测 | 第46-47页 |
4.4 卡顿堆栈归类展示 | 第47-50页 |
4.4.1 数据预处理 | 第47-48页 |
4.4.2 相似度计算 | 第48-49页 |
4.4.3 实现堆栈归类 | 第49-50页 |
4.5 本章小结 | 第50-51页 |
第五章 基于Android应用的热修复方案 | 第51-60页 |
5.1 研究意义 | 第51页 |
5.2 Android应用热修复技术背景 | 第51-53页 |
5.2.1 Instant Run即时编译技术 | 第51-52页 |
5.2.2 Android类加载器 | 第52-53页 |
5.2.3 热修复两大方案介绍 | 第53页 |
5.3 热修复框架的实现 | 第53-58页 |
5.3.1 编写热修复插件 | 第54页 |
5.3.2 代码的修复 | 第54-56页 |
5.3.3 资源文件的修复 | 第56页 |
5.3.4 性能问题优化 | 第56-58页 |
5.3.4.1 解决代码混淆问题 | 第56-57页 |
5.3.4.2 优化插桩增加的包大小 | 第57页 |
5.3.4.3 优化反射引起的性能问题 | 第57-58页 |
5.4 热修复框架的使用 | 第58-59页 |
5.4.1 部署热修复补丁 | 第58页 |
5.4.2 在项目中使用 | 第58-59页 |
5.5 本章小结 | 第59-60页 |
第六章 案例分析 | 第60-76页 |
6.1 测试案例准备 | 第60-63页 |
6.1.1 待测应用介绍 | 第60页 |
6.1.2 平台环境部署 | 第60-61页 |
6.1.3 平台使用流程 | 第61-63页 |
6.2 实验分析 | 第63-75页 |
6.2.1 WebView性能监控 | 第63-67页 |
6.2.2 内存泄漏分析 | 第67-70页 |
6.2.3 卡顿分析 | 第70-73页 |
6.2.4 发布热修复补丁 | 第73-74页 |
6.2.5 SDK对应用的影响 | 第74-75页 |
6.3 本章小结 | 第75-76页 |
总结与展望 | 第76-77页 |
总结 | 第76页 |
展望 | 第76-77页 |
参考文献 | 第77-81页 |
攻读硕士学位期间取得的研究成果 | 第81-82页 |
致谢 | 第82-83页 |
附件 | 第83页 |