美文网首页
Android开发绕不开的话题:性能优化

Android开发绕不开的话题:性能优化

作者: android不是安卓 | 来源:发表于2022-05-17 19:06 被阅读0次

现如今移动互联网发展愈发迅猛,各种app层出不穷,每个人手机上都会有几十上百个app,而今天我们就来探讨一下对应android开发者来说,为什么要在android开发过程中对APK进行优化瘦身呢?

麻烦大家给个赞吧~

其实这一点不难理解,一旦APK过大,那在下载安装的过程中,所耗费的流量就会越多,而安装等待时间也会拉的更长,按照普通人的思维来看:这app要消耗这么多流量,还要等这么久,算了换另外相似功能的APP。

而这种情况对于产品本身则意味着下载转化率会越低,从而使得开发者很亏(容易挨老板骂)!所以apk的瘦身优化很重要,今天就来稍微讲一个小小的apk瘦身案例。

APK瘦身关键就在一个字:删!没用的就直接删了,直接上案例:
启用资源缩减 (不打包)

如果在应用的 build.gradle 文件中启用了资源缩减: shrinkResources ,则 Gradle 在打包APK时可以自动忽略未使用资源。 资源缩减只有在与代码缩减: minifyEnabled 配合使用时才能发挥作用。在代码缩减器移除所有不使用的代码后,资源缩减器便可确定应用仍要使用的资源 。

android { 
   // Other settings 
   buildTypes { 
       release { 
           minifyEnabled true 
           shrinkResources true 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
       } 
   } 
}   
动态库打包配置

so文件是由ndk编译出来的动态库,是 c/c++ 写的,所以不是跨平台的。ABI 是应用程序二进制接口简称(Application Binary Interface),定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。

在Android 系统中,每一个CPU架构对应一个ABI,目前支持的有:armeabi-v7a,arm64- v8a,x86,x86_64。目前市面上手机设备基本上都是arm架构, armeabi-v7a 几乎能兼容所有设备。因此可以配置:

android{ 
    defaultConfig{ 
        ndk{
            abiFilters "armeabi-v7a" 
        } 
    }
 }

对于第三方服务,如百度地图、Bugly等会提供全平台的cpu架构。进行了上面的配置之后,表示只会把armeabi-v7a打包进入Apk。从而减少APK大小。

对于Android开发者来说,性能优化是非常重要的一个涨薪点!那么该如何去正确学习性能优化模块的知识点呢?大家对性能优化方面知识点欠缺的话可以看看下面这份《2022性能优化大厂冲刺涨薪秘籍》,文章留言或者后台私信我即可免费领取~

一、启动优化

  • ①系统的启动原理
  • ②Trace工具分析启动卡顿
  • ③类重排机制
  • ④资源文件重排机制
  • ⑤优化实战:懒加载机制实现快速启动
  • ⑥等等......

二、UI渲染优化

  • ①UI层级规划
  • ②UI卡顿原因及修复
  • ③UI绘制、布局、测量原因及处理方案
  • ④Hierarchy Viewer的使用
  • ⑤内存抖动现象
  • ⑥等等......

三、崩溃优化

  • ①项目崩溃异常捕获
  • ②优雅的异常处理方案
  • ③异常弹窗问题
  • ④实战:手写实现异常处理框架
  • ⑤等等......

四、卡顿优化

  • ①分析卡顿的因素
  • ②内存抖动与GC回收
  • ③回收算法
  • ④卡顿检测
  • ⑤等等......

五、安全性优化

  • ①APP加固
  • ②Https防抓包机制
  • ③手写APK加固框架
  • ④等等......

六、编程效率优化

  • ①分布式仓库系统git专题
  • ②Gradle
  • ③等等......

七、APP深度调优

  • ①弱网优化
  • ②大图加载优化
  • ③储存优化
  • ④微信图片高效传输方案
  • ⑤微信APK极限瘦身方案
  • ⑥等等......

八、内存优化

  • ①优化工具
  • ②内存管理
  • ③内存抖动
  • ④内存泄漏
  • ⑤线上内存监控
  • ⑥MAT分析工具
  • ⑦等等......

九、存储优化

  • ① 交换数据格式
  • ②SharePreferences 优化
  • ③Bitmap 解码
  • ④数据库优化
  • ⑤其它通用优化

最后

本篇文章就到此结束了,如果你想要冲击android高级工程师,但却面临着性能优化负面的知识不过关的情况,可以找我领取这份《2022性能优化大厂冲刺涨薪秘籍》进行查漏补缺,私信或留言【性能优化】即可免费领取。

相关文章

网友评论

      本文标题:Android开发绕不开的话题:性能优化

      本文链接:https://www.haomeiwen.com/subject/jbenurtx.html