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学习专栏

相关推荐
problc22 分钟前
Flutter中文字体设置指南:打造个性化的应用体验
android·javascript·flutter
帅得不敢出门11 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
我又来搬代码了12 小时前
【Android】使用productFlavors构建多个变体
android
德育处主任14 小时前
Mac和安卓手机互传文件(ADB)
android·macos
芦半山14 小时前
Android“引用们”的底层原理
android·java
迃-幵15 小时前
力扣:225 用队列实现栈
android·javascript·leetcode
大风起兮云飞扬丶15 小时前
Android——从相机/相册获取图片
android
Rverdoser15 小时前
Android Studio 多工程公用module引用
android·ide·android studio
aaajj15 小时前
[Android]从FLAG_SECURE禁止截屏看surface
android
@OuYang16 小时前
android10 蓝牙(二)配对源码解析
android