• 探索APP性能优化之稳定性优化(解决方案)


    前言

    Android 稳定性优化是一个需要长期投入,持续运营和维护的一个过程,不仅深入探讨了 Java Crash、Native Crash 和 ANR 的解决流程及方案,还分析了其内部实现原理和监控流程。本文对稳定性优化方面的知识做了一个全面总结,主要内容如下:
    在这里插入图片描述

    如何提升App的稳定性

    一般性的App能接触到稳定性的需求其实并不多,只有大型的处于稳定运营期的App才会重视App的稳定性,稳定性实际上是一个大问题,一个稳定的产品才能够保证用户的留存率,所以稳定性是质量体系中最基本也是最关键的一环:

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

    稳定性维度

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

    稳定性优化概述

    如果App到了线上才发现异常,其实已经造成了损失,所以稳定性优化重点在于预防

    • 重在预防、监控必不可少:从开发到测试到发布上线运维这些各个阶段都需要预防异常的发生,或者说要将发生异常造成的损失降到最低,用最小的代价暴露最多的问题,同时监控也是必不可少的一步,需要拥有一定的监控手段来更加灵敏的发现问题。
    • 思考更深一层、重视隐含信息:比如你发现了一个崩溃,但是你不能简单的只看这一个崩溃,要考虑这个崩溃是不是在其他地方也有同样或者类似的,如果有就考虑是否统一处理,今后该如何预防,总结经验。
    • 长效保持需要科学流程:在项目的每一个阶段建立完善的相关规范,保证长效的优化效果。

    在这里给大家免费分享一份《360°全方位Android性能优化解析》,这份学习手册将会带领大家一步一步深入探索Android的性能优化,让产品的性能从各个方面得到提升,希望大家喜欢

    这份资料一共有721页,4个大点,25个小章节,不仅仅有详细的底层原理的解析,还有专门的实践案例!文末直接领取

    第一章 设计思想与代码质量优化

    1.六大原则

    • 单一职责原则
    • 里氏替换原则
    • 依赖倒转原则
    • 接口隔离原则
    • ……

    2.设计模式

    • 结构型模式:桥接模式、适配器模式、装饰器模式、代理模式、门面(外观)模式……

    • 创建型模式:建造者模式、单例模式、抽象工厂模式、工厂方法模式……

    • 数据结构:数组、栈、队列、链表、树……

    • 算法:排序算法、查找算法……

      图片

    第二章 程序性能优化

    1.启动速度与执行效率优化

    • 冷启动和热启动解析
    • APP 启动黑白屏解决办法
    • APP 卡顿问题分析及解决方案
    • 启动速度与执行效率优化之 StrictMode
    • ……

    2.布局检测与优化

    • 布局层级优化
    • 过度渲染
    • ……

    3.内存优化

    • 内存抖动和内存泄漏
    • 内存大户
    • Bitmap 内存优化
    • Profile 内存监测工具
    • Mat 大对象与泄漏检测
    • 耗电优化
    • 网络传输与数据存储优化网络传输与数据存储优化
    • APK 大小优化
    • 屏幕适配
    • ……

    4.耗电优化

    • Doze&Standby
    • Battery Historian
    • JobScheduler
    • WorkManager

    5.网络传输与数据存储优化

    • google 序列化工具 protobuf
    • 7z 极限压缩
    • ……

    6.APK 大小优化

    • APK 瘦身
    • 微信资源混淆原理
    • ……

    图片

    7.屏幕适配

    进行适配的原理

    屏幕分辨率限定符与 smallestWidth 限定符适配原理

    为什么选择 smallestWidth 限定符适配

    怎么适配其他 module

    常见问题处理

    8.OOM 问题原理解析

    • adj 内存管理机制
    • JVM 内存回收机制与 GC 算法解析
    • 生命周期相关问题总结
    • Bitmap 压缩方案总结
    • ……

    9.ANR 问题解析

    • AMS 系统时间调节原理
    • 程序等待原理分析
    • ANR 问题解决方案
    • ……

    10.Crash 监控方案

    • Java 层监控方案
    • Nativie 层监控方案
    • ……

    图片

    第三章 开发效率优化

    1.分布式版本控制系统 Git

    • 企业高效持续集成平台场景介绍
    • GIT 分布式版本控制系统
    • GIT 分支管理
    • ……

    2.自动化构建系统 Gradle:

    • Gradle 与 Android 插件:gradle 与 android gradle 插件的关系、Gradle Transform API 的基本使用……
    • Gradle Transform API 的基本使用:什么是 Transform、Transform 的使用场景、Transform API 学习、输入的类型……
    • 自定义插件开发:Gradle 插件简介、开始准备、实践、自定义 Gradle 插件、buildSrc 模块方式……
    • 插件实战:多渠道打包、发版自动钉钉……

    图片

  • 相关阅读:
    Linux项目自动化构建工具-make/Makefile
    Vue3基础(26)___defineProps、defineEmits、defineExpose组件通信
    整合小分子物质KGN的壳聚糖-透明质酸水凝胶/基于琥珀酰壳聚糖-氧化透明质酸的水凝胶的研究制备
    Python学习笔记第四十五天(NumPy 排序、条件刷选函数)
    matlab 采用描点法进行数据模拟和仿真
    nginx 配置~~~本身就是一个静态资源的服务器
    十五、项目构建与部署
    crash handler
    深入理解LInux ELF可执行程序
    苍穹外卖--新增菜品
  • 原文地址:https://blog.csdn.net/Androiddddd/article/details/126229084