Android稳定性相关知识

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。

专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

目录

  • 一、导读
  • 二、概览
  • 三、相关方法论
    • [3.1 crash](#3.1 crash)
    • [3.2 性能](#3.2 性能)
    • [3.3 高可用](#3.3 高可用)
    • [3.4 容灾方案](#3.4 容灾方案)
    • [3.5 长期性能优化](#3.5 长期性能优化)
  • [四、 推荐阅读](#四、 推荐阅读)

一、导读

我们继续总结学习,温故知新。

本文讲述稳定性的相关概念。

二、概览

对所有app而言,必须尽可能的保障app正常运行,不产生crash,这是最高优先级,不稳定的产品,用户留存率也低。

在不崩溃的情况下,也要保证在极端场景下也可以操作app,

然后就要开始考虑性能上的优化了,如内存、流量、卡顿、耗电等等。

我们稳定性以预防为主,监控为辅,力争将问题扼杀在萌芽中。

三、相关方法论

3.1 crash

  1. 首先要正确认识并高度重视crash问题
  2. 建立相关的crash指标,比如 崩溃率:0.12%
  3. 接入crash及异常数据分析平台,有自己的APM最佳,收集尽可能详细的信息

crash指标的维度比较多,我们以bugly为例:有设备崩溃率,次数崩溃率,java崩溃,Native崩溃

当然还可以进一步细分,如启动crash(启动一段时间就崩溃),这个需要自建apm支持。

同时我们要关注每个版本新增的crash,持续跟进解决老版本的crash。

3.2 性能

  1. 重视性能优化,建立相关性能指标
  2. 性能优化的维度很多,包括但不限于启动优化,电量、内存、卡顿、网络等

具体知识可查看前面的文章。

3.3 高可用

业务的主流程绝不能被阻塞,要建立多维度的监控系统

  1. 建立用户行为日志系统,记录下全面的信息,包括用户行为,crash发生前,发生时的详细信息,以及用户使用到的各种资源等信息
  2. 用户反馈系统
  3. 性能监控系统(如内存、大图等)
  4. 业务异常监控系统

3.4 容灾方案

  1. 建立配置中心,功能开关,对于每一个要上线的功能,最好加个开关来控制这个功能是否要开启
  2. 统跳中心,处理异常的页面,避免用户使用功能
  3. 动态(热)修复
  4. 安全模式,建立报警策略(预制报警、特定指标报警等),可监控性能异常 or 业务异常

3.5 长期性能优化

  1. 制定编码规范,加强技术评审,加强codereview
  2. 制定好每个阶段的流程规范,比如开发阶段、测试阶段、灰度阶段、及上线后
  3. 明确责任人,明确权利与义务
java 复制代码
稳定性是一个长期艰巨的过程,需要持之以恒。

四、 推荐阅读

Java 专栏

SQL 专栏

数据结构与算法

Android学习专栏

相关推荐
消失的旧时光-19433 分钟前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon1 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon1 小时前
VSYNC 信号完整流程2
android
dalancon1 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户69371750013842 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android3 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才3 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶4 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle
汪海游龙4 小时前
开源项目 Trending AI 招募 Google Play 内测人员(12 名)
android·github
qq_283720055 小时前
MySQL技巧(四): EXPLAIN 关键参数详细解释
android·adb