• Android 开发“卷出重围“,性能优化必须了解一下


    前言

    对于近两年的Android开发来讲,因疫情以及互联网风向影响(互联网寒冬),大环境持续下行,各大公司的业务线收缩及裁撤成为常规操作,公司内“卷”成常态。

    作为一个螺丝钉,我们想要卷出重围性能优化必须了解一下!

    就博主来说,目前已经从事了7年Android开发工作,也从事了相当之久的性能相关的工作,接触了不少模块,但说真心话要做好性能这一块,真心不容易。

    为何这么说呢? 其实主要是因为学习起来所要了解的知失败识非常多,对于Android这块来讲各个知识点其实都可以看做一个整体,牵一发而动全身,学性能优化但却又不仅仅只学性能优化。

    对于初级Android开发来说,性能优化又不得不学。在初级开发严重饱和的现在,不掌握一门过硬的技术,迟早会被优化。 你可以选择重点学习Framework或者音视频开发/性能优化等等,今天我就对性能优化方面的知识模块做一个梳理,希望能够帮助到各位正在学习中的朋友。

    这篇文章记录了 Android 性能优化所必须掌握的知识,涵盖性能优化相关的方方面面。

    Android的性能优化,主要从以下几个方面开展:

    稳定(内存溢出、崩溃)

    耗损(耗电、流量)

    安装包(APK瘦身)

    流畅(卡顿)

    此外APK瘦身是性能优化必学部分,大家可以结合这个APK瘦身视频进行学习:APK优化系列瘦身篇,还有冷启动、热启动等很多性能优化方面的技巧,这里就不一一赘述了。

    针对性能优化这个要点,今天分享给大家一份《2022 Android性能优化核心知识笔记》,强调一下:【因篇幅问题:文中只放知识点,全部文档需要的可找作者获取。

    这些B站性能优化开发视频也可以供大家学习:

    一、UI优化(节选部分知识点

    UI优化似乎是 Android 性能优化中最简单的部分,但是也是细节满满,不注意细节也很容易翻车!

    • UI层级规范以及对U加载的影响
    • UI卡顿原因分析以及修复
    • Ul绘制、布局、测量原因以及处理方案
    • 实战:从原理到实战,多维度解决Ul造成的性能问题

    二、APP启动优化(节选部分知识点

    想要提升 App 的启动速度,那就必须要学启动优化知识点!

    • 系统的启动原理
    • 为什么腾讯系APP的启动都用框架来处理?
    • 如何利用数据结构与算法做框架设计?
    • 项目开发中任务管理系统如何设计?
    • JUC闭锁与AQS技术在启动架构设计中的应用
    • App启动框架对启动优化的意义
    • 最大化利用CPU资源为项目服务

    三、崩溃优化(节选部分知识点

    崩溃是app当中经常会发生的时候,非常影响用户体验,所以这一模块的学习也是至关重要的。

    • 项目奔溃异常捕获
    • 优雅的异常处理方案
    • 项目中如何避免异常弹框
    • 实战:手写实现异常处理框架

    四、卡顿优化(节选部分知识点

    卡顿优化可以说是 Android 性能优化中最复杂的环节,所以大家学习的时候更得注意细节。

    • 多维度分析造成卡顿的原因
    • 内存抖动与GC回收
    • 内存抖动与GC回收
    • 优化实战:从维度解决卡顿问题实战

    五、安全性优化(节选部分知识点

    安全性优化部分也是不得不学的

    • APP加固实现(防反编译,dex加固)
    • https防抓包机制(数据传输加载,客户端服务器端双向加密校验)
    • 优化实战:手写打造APK加固框架

    六、弱网优化(节选部分知识点

    大家都有玩游戏网络卡的情况,网络优化一直被认为是移动优化水最深的领域之一

    • serializable原理
    • parcelable接原理解析
    • http与https原理详解
    • protbuffer网络IO详解
    • gzip压缩方案

    七、APP深度优化(节选部分知识点

    大图加载优化

    • Glide巨图加载机制原理分析
    • 大图多级缓存实现方案
    • 优化实战:手写微博巨图加载功能

    最后

    再次强调一下:【因篇幅问题:文中只放知识点,全部文档需要的可找作者获取。
  • 相关阅读:
    R语言实现:统计学及计量专业中的多种平均值计算方式
    项目部署之持续集成
    JUC线程池——newSingleThreadExecutor源码解析&&JDK提供线程池ThreadPoolExecutor执行任务流程解析
    Android使用文本转语音播报
    AD画板从头开始
    .NET 9 预览版 3 发布
    乐鑫的ESP32-S3芯片的LE能实现beacon功能吗?
    软件项目管理 5.2.任务分解方法
    一文搞懂MobileNet v1网络
    visual studio 15 无法卸载(安装时发生严重错误)
  • 原文地址:https://blog.csdn.net/m0_64420071/article/details/127098033