当前位置:首页 > 报告详情

A2--李洁--APP启动稳定性和链路优化实践.pdf

上传人: 2*** 编号:152053 2024-01-05 45页 18.90MB

1、APP启动稳定性和链路优化实践李洁美团李洁美团 点评基础质量负责人在移动端CICD测试组件、动态化技术栈测试策略、APP URL合规、增长唤起等通用测试工具和监控能力建设上有较多实践经验。目录CONTENTS议题背景01 APP启动管控和治理02 启动稳定性保障03 启动用户体验提升04 展望未来05 01议题背景议题背景-APP启动重要性国内各APP的崩溃也会迅速冲上微博话题u据Dimensional Research的一项调查,61的用户希望APP在4秒内启动,而49的用户希望在2秒内响应输入。如果应用发生崩溃,53的用户会将APP卸载。u据bugsnag机构统计,84%的用户会在两次启动

2、崩溃后放弃打开APP,44%的用户可能直接卸载APP。uWhatsApp是一款可以免费拨打电话和发送短消息的通信软件,在全球拥有约20亿活跃用户,2022年10月因发生崩溃,当天Meta的股价下跌了0.7%。u用户能忍受的最长响应时间是5秒u如果响应时间超过5秒,50%移动应用用户会放弃u三分之一失望的用户会转向竞争对手的应用-蝉大师APP启动过程分析启动u广义:点击图标到首页数据加载完毕u狭义:点击图标到Launch Image完全消失第一帧初始化项比如网络库、日志、Crash 捕获与上报、线程管理、热修复、配置下发、视频、直播、支付等APP启动能力现状和目标缺少监控2020年现状初始化项乱

3、无规范和管控标准APP启动变慢耦合严重,维护成本高目标稳快02APP启动管控和治理初始化项管控能力建设方向启动管控和治理-启动工程化启动项在App启动过程中需要完成的某项工作,我们称之为一个启动项。例如:某个SDK的初始化 某个功能的预加载 定位相关 异常监控 性能监控.控得住-玩转启动项增量启动项如何加入?启动项分组?业务映射关系?启动项重要性和依赖关系?启动项的启动时机?启动项启动工程化后,双端(Android、iOS)分别有xx启动项控得住-启动项分级依赖所有业务场景都需要,一般为重要基础能力,如网络初始化、监控、配置下发、日志系统等使用范围比较广,为某一类技术栈的初始化项,例如动态化框

4、架、模块化框架、接口框架初始化项等其他启动项启动项功能启动项功能注册进程注册进程启动项依赖启动项依赖启动项分级启动项分级CrashReportTaskCrash上报一级xxx1Taskxx初始化一级xxx2Task冷启动上报二级xxx3Task性能监控初始化二级xxx4Task静态模型初始化其他xxx5Task图片配置初始化其他xxx6TaskXx日志初始化二级xxx7Task网络库初始化一级xxx8Task预加载初始化其他xxx9Task账号初始化二级特定业务场景需要,例如消息、收藏、直播、支付初始化项等二级启动项一级启动项控得住-启动项分阶段加载(启动时机)进程创建启动项动态化容器首跳页面

5、系统行为包体大小相关xxms依赖定位接口请求耗时xxms启动项执行多启动项耗时xxms容器引擎加载JS动态下载xxms启动项Push唤起广告唤起桌面唤起页面标识启动项注册技术栈/页面级-启动项配置应用启动路由阶段次级页面首跳页面全部启动项页面级-启动项配置次级页面页面级-启动项配置控得住-自定义启动项组(启动时机)进程创建启动项动态化容器首跳页面次级页面启动项控得住-启动项准入卡控基于启动项能力的质量提升思考稳快03启动稳定性保障启动稳定性分析举例问题:xx年 x月x日 xx点xx到xx点05之间,大众点评App iOS 端爆发启动Crash,Crash总量xxW+,影响用户xxW+。原因:A

6、PP启动初始化模块化框架时,模块配置服务获取配置数据后触发异常,从而引发Crash。当时的可处理手段:配置回滚据统计崩溃发生最多的阶段是应用初始化阶段,点评APP有51.8%的Crash量是在用户启动阶段。启动高可用、容灾方案建设减少此类问题发生降低故障影响启动降级能力建设-方案设计启动降级能力建设-安全模式安全模式(小程序)兜底止损触发机制恢复机制启动降级能力建设-方案设计监控项告警阈值监控频次告警频次Crash增量告警单条Crashxx条/1分钟1分钟1分钟Crash总量告警单条Crash1.黑名单阈值xx/天2.常规阈值xx/天5分钟5分钟配置项说

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要探讨了APP启动稳定性和链路优化实践。首先,强调了APP启动的重要性,指出国内用户对APP启动速度的期望以及在应用崩溃后的反应。其次,介绍了APP启动的管控和治理,包括启动项的分类、分组、依赖关系以及启动时机等。然后,阐述了启动稳定性的保障,通过启动工程化、启动项分级依赖、分阶段加载和自定义启动项组等措施来提高APP的稳定性。同时,也提到了启动用户体验的提升,通过优化启动链路性能、实施增长策略等方法来增强用户体验。最后,展望了未来的发展方向,包括完善启动项能力、建设全链路启动性能监控等。
"APP启动稳定性如何保障?" "如何优化APP启动用户体验?" "未来APP启动性能优化趋势是什么?"
客服
商务合作
小程序
服务号
折叠