论文部分内容阅读
互联网和移动通信技术的飞速发展,以及移动设备的普及,使得移动应用的数量呈现爆发式增长,并且涌现出大量拥有千万乃至亿级别用户的超级应用。伴随着软硬件的不断成熟,各类功能丰富的应用不断出现,人们在越来越依赖移动应用的同时,也对应用的使用体验和性能要求有所提高。然而,由于激烈的市场竞争、版本的快速迭代、终端设备的多样性以及操作系统的碎片化等原因,给移动应用服务质量的保证带来了更多的挑战。为了给用户提供更好的使用体验,越来越多的开发者开始关注并使用移动应用性能管理类服务。本文首先对国内外现有的移动应用测试技术和性能管理的现状进行了研究,在此基础上设计并实现了一个面向Android应用的性能监控与管理平台。本文主要工作包括以下四部分:(1)通过对Android应用的构建过程和构建工具的研究,结合字节码修改技术实现了一套无埋点的性能监控SDK,为其他功能的实现提供支撑;(2)结合WebView控件的使用和Html5技术,实现了对Android平台WebView性能数据的监控,包括页面性能数据、脚本异常数据、Ajax性能数据和页面点击流数据;(3)针对目前最容易被忽略的内存泄漏和卡顿两大性能问题,实现了异常检测功能,通过提取引用链和详细的异常堆栈信息,帮助开发者快速定位问题,卡顿检测子系统同时提供了对大量堆栈信息的处理和分类以及修复状态的跟踪;(4)实现了一套基于Android应用的热修复框架,当开发者通过管理平台监控到性能问题时,可以使用此框架生成补丁包并通过平台下发,就能快速修复线上应用的崩溃和异常问题,无需重新发布新版本。最后,本文选取了一个典型的移动应用进行案例分析,展示了本文设计和实现的Android应用性能管理解决方案的整体使用流程,验证了功能的有效性,并通过对监控图表的分析给出了相应的异常信息定位方法及应用优化建议。