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

相关推荐
YB13759 小时前
jetpack compose 副作用 SideEffect
android·kotlin
CHB10 小时前
uni-app x 蒸汽模式 性能测试基准报告 Benchmark【Android版】
android·ios·uni-app
带娃的IT创业者11 小时前
拆掉那堵墙:LibrePods 如何让 AirPods 在 Android 上重获新生
android·开源项目·airpods·librepods·生态解锁
_阿南_13 小时前
flutter 展示的字体突然奔放了
android·flutter·ios
文人sec16 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
刘洋浪子17 小时前
AndroidStudio保存日志菜单
android
朱涛的自习室17 小时前
从 Prompt 到 Graph:AI 工程的进化史
android·前端·人工智能
2501_9327502617 小时前
Android 中 Serializable 与 Parcelable 的对比与选择
android
FungLeo18 小时前
Flutter 两个反直觉布局坑:ListTile 水波纹 / VerticalDivider 踩坑实录
android·flutter
1570925113419 小时前
ViewBinding与DataBinding区别与选型
android