继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【学习打卡】第11天 App 稳定性优化

GT9456
关注TA
已关注
手记 89
粉丝 12
获赞 17

课程名称:Top团队大牛带你玩转Android性能分析与优化
课程章节:App性能概览与平台化实践
主讲老师:随风绽放

课程内容

如何提升 App 的稳定性

App 的稳定性是一个大问题,一个稳定的产品才能保证用户的留存率,稳定性是质量体系中最基本也是最关键的一环。

App 的 Crash 的问题都是P0优先级,对于用户来说很难容忍 App 发生崩溃。App 稳定性可优化的面很广,不仅仅是指崩溃,像卡顿、耗电等也属于稳定性优化的范畴,对于移动端高可用这个标准来说,性能优化只是高可用的一部分,还有一部分就是应用业务流程功能上的可用。

App 稳定性维度通常包括以下几个方面:

  • Crash维度,一般会将 Crash 单独作为一项重要指标进行突破,最常见的统计指标就是Crash率。
  • 性能维度,包括启动速度、内存、卡顿、流量、电量等,在解决应用的Crash之后,就应该着手保障性能体系的稳定。
  • 业务高可用维度,业务层面的高可用是相当关键的一步,需要使用多种手段去保障App业务的主流程及核心路径的可用性。

移动端业务高可用方案建设

稳定性优化不只是降低Crash率,还有一个重要的维度就是业务的高可用。业务的不可用可能不会导致崩溃,但是会降低用户的体验,从而直接影响我们的收入。

  • 数据采集,业务高可用不像 Crash,需要我们自己打点做数据采集。我们需要梳理项目主流程、核心路径、关键节点,并添加打点。数据采集我们也可以采用AOP方式采集,减少手动打点的成本。数据上报之后,我们可以建立数据大盘,统计每个步骤的转化率。
  • 报警策略,在数据上报之后,我们也可以建立报警策略,比如阈值报警、趋势报警(相比同期减少)、特定指标报警(比如支付失败)。
  • 异常监控,我们可以做一些异常监控的工作,比如Catch 住的异常与异常逻辑的上报,这些异常虽然不会崩溃,但也是我们需要关注的。
  • 单点追踪,针对一些难以解决的问题,我们可以针对特定用户采用全量日志回捞的方式来采集更多信息。
  • 兜底策略,在发现了异常之后,我们可以通过一些兜底策略来解决问题,比如支持通过配置中心配置功能开关是否打开,当发现某个新功能有问题时,我们可以直接隐藏该功能,或者通过配置路由的方式跳转到另一个方式。

移动端容灾方案

在性能或者业务异常发生了之后,我们该如何解决呢? 传统的流程需要经过用户反馈,重新打包,渠道更新等多个步骤,可以看出其实比较麻烦,对用户的响应度也比较低
我们可以从以下角度来进行客户端的容灾方案建设。

  1. 功能开关,对于新加的功能或者代码重构,支持通过配置中心配置开关,如果发生问题可以及时关闭。
  2. 统跳中心,如果我们的App所有的页面都是通过路由跳转的,可以通过动态配置路由的方式跳转到统一错误处理页面,或者跳转到临时h5页面。
  3. 动态化修复,通过热修复技术修复BUG,比如接入腾讯的Tinker或者美团的Robust等。如果你的项目使用了RN或者Weex,可直接实现增量更新。
  4. 安全模式,如果崩溃发生在刚启动APP时,这时候动态更新动态配置就都失效了,这个时候就需要用到安全模式。安全模式根据Crash信息自动恢复,多次启动失败重置应用为安装初始状态。如果是特别严重的Bug,也可以通过阻塞性热修复的方式来解决,即热修成功了才能进入APP。安全模式不仅可以用于APP,也可用于组件,如果某个组件多次报错,就可以进入兜底页面。

课程收获

本章从实际项目中遇到的稳定性问题出发,详细介绍了如何处理Crash,Crash的长效治理,业务高可用方案建设等内容。App的稳定性优化是一个长期治理的过程,从开发到上线以后的每一步都需要投入精力。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP