性能优化之Apk瘦身

【Andoroid】之【APK瘦身】 【Andoroid】之【APK瘦身】方案总结 阅读详情

基本瘦身

1.工具(Lint检测代码)

在这里插入图片描述
箭头1:全面检测
检测维度:
大牛文章:
https://www.cnblogs.com/andy-songwei/p/7090934.html
http://www.javashuo.com/article/p-vtcbvgwr-nc.html
箭头2:按照具体检测类型lint

2.图片处理:

1.图片压缩
推荐批量压缩(使用插件:TinyPngPlugin)
1、Tools --> TinyPngPlugin
2.用WebP格式进行替换
3.混淆处理 minifyEnabled true
4.资源缩减 shrinkResources true

备注假如有一些资源文件不确定还用不用,也不敢删,或者不确定需求是否会变更,所以先留着,
可以使用shrinkResources来缩减资源

5.无用的 so文件,三方库,二方库,以及重复使用的第三方库的删除和精减

6.为了解决简单功能引入的复杂三方库,尽量只参考他们的实现,避免引入三方库

7.移除未使用的备用资源
defaultConfig { resConfigs(“en”,“zh”,“zh-rCN”) }资源文件同理

defaultConfig { resConfigs(“xxhdpi”,“xxxhdpi”) }

瘦身进阶

1.资源混淆resources.arsc资源混淆

参考AndResGuard

2.ReDex

dex文件是打包中的产物,redex是facebook开源的分包优化方案。可以参考:ReDex。

3.so动态加载

对于so缩减后,so文件占比还是比较大,可以考虑除了首次启动外的so文件做动态下发。也就是插件化的思想,按需加载,但是收益很大的同时,风险也很大,

有很多case需要考虑到,比如下载时机、网络环境、线程进程,加载失败是否有降级策略等等。

可以参考facebook开源的SoLoader。

4.插件化

按需加载,收益越大风险越大,风险同上。

5.原生改用H5或小程序等方案

6.图片网络化

把图片上传到服务器,通过动态下载的方式减少包体积,弊端就是首次加载的时候依赖网络环境,对加载速度,流量需要做一个平衡。图片可以预加载,但是流量消耗是无法避免了,如果比较在意流量指标,需要权衡了。

7.DebugItem

DebugItem 里面主要包含两种信息:

调试的信息。函数的参数变量和所有的局部变量。
排查问题的信息。所有的指令集行号和源文件行号的对应关系。
去除debug信息与行号信息,如果不是极致,不推荐。可以参考支付宝的这篇 支付宝 App 构建优化解析:Android 包大小极致压缩。

8.R Field内联

内联R Field可以解决R Field过多导致MultiDex 65536的问题,而这一步骤对代码瘦身能够起到明显的效果。
参考字节开源的shrink-r-plugin,还有滴滴开源的booster,美团方案

9.图片着色器

针对同图不同色的处理,可以使用tint,比如原本是一个黑色的返回icon,现在另一个页面要用白色了,就不需要两张图了,
而是使用tint来修改为白色即可。

10.减少ENUM的使用

每减少一个ENUM可以减少大约1.0到1.4 KB的大小。

包体积瘦身的思想:

包体积监控

包体积监控应该作为发布流程的一个环节,最好是做到平台化、流程化,否则很难持续,没几个版本包体积又涨上来了。

大致思想:当前版本与上一个版本的包大小做对比,超过200KB需要审批。临时审批需要给出后续优化方案等等。

Android性能优化之APK瘦身详解(瘦身73%) 公司项目在不断的改版迭代中,代码在不断的累加,终于apk包不负重负了,已经到了八十多M了。可能要换种方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现的阶段。你在写上个版本的内容,好了,下个版本的更新内容已经定稿了。基于这种快速开发的现状,我们app优化前已经有87.1M了,包大了,运营说这样转化不高,只能好好搞一下咯。优化过后包大小为23.1M(优化了73... 阅读详情

相关推荐

解决倍福ADS通信错误1861和6:一次完整的TwinCAT3路由配置与故障排查实录

本文详细解析了在Linux系统上解决倍福ADS通信错误1861和6的完整流程,包括TwinCAT3路由配置与故障排查。通过实例演示了如何正确配置AMS NetID、使用adstool工具添加静态路由,以及高级网络抓包分析技巧,帮助工程师快速定位和解决通信问题。

weixin_30875157的博客 520

apk包简洁瘦身

减小apk的大小,不仅对自己是经验的积累,对公司的用户来说,在下载体验上,小的包下载时间很短,不用等太久,而且省流量,所以减小包是很不错的;一、分析APK:使用Android Studio 2.2 新功能直接能分析APK的大小,双击打开就能看到那些占用APK比例大,方法数等。 使用方法:Build -> Analyz APK通过以上任一工具分析我们知道我们项目中主要是以下文件占用APK大小: cl

UncleMin博客 1374

Ubuntu20.04安装NVIDIA显卡驱动避坑指南:从.run文件到完美运行

本文详细介绍了在Ubuntu20.04系统上通过.run文件安装NVIDIA显卡驱动的完整流程和避坑技巧。从禁用Nouveau驱动、选择合适显示管理器到处理常见安装问题,提供了一套经过验证的解决方案,帮助用户顺利完成驱动安装并优化性能。

weixin_30776273的博客 602

阿里某淘Android体积优化方案(上)

背景 随着Android移动开发的需求越来越复杂,我们不可避免apk越来越臃肿,体积越来越大。 作为一个非心智成熟型App,Apk大小影响拉新用户转化率,拉新用户面对的是真金白银,配合用增团队在业务快速发展期快速增长是我们面对的核心需求。 同时谷歌官方也给出了一个很详细的数据,包体大小每上升 6MB,应用下载转化率就会下降 1%。 apk的组成 lib/ 存放so文件,现阶段市面上有armeabi、armeabi-v7a、arm64-v8a、x86、x86_64几种cpu架构。 res/ 存放编译后的资源文

xiaokangss的博客 385

Halcon-AOI外观缺陷检测系列

Halcon-AOI外观缺陷检测系列

Jumy_S的博客 1664

2026年ERP选型实战:按规模分档,避开成本与实施陷阱

企业资源计划(ERP)是现代企业数字化转型的核心系统,它将财务、供应链、制造、人力等业务整合到统一平台。随着云计算和人工智能技术的发展,ERP已从传统本地部署的记录工具演变为SaaS订阅制、具备AI辅助决策能力的智能运营平台。不同规模企业在选型时的关注点差异巨大:小微企业追求轻量化和快速出报表,中型企业需要在流程标准化与业务灵活性间取得平衡,大型集团则注重多法人管控和数据治理。此外,制造、电商、工程等行业对ERP的模块要求也各有侧重,成本核算数据跑不通更是普遍痛点。如何结合企业规模与行业特征,制定合理的选型

weixin_34320724的博客 378

Android性能优化之APK瘦身详解

APK瘦身

qq_33209777的博客 2214

第四章 汇川技术InoProShop入门之串口自由协议解读

摘要: 串口自由协议是工业自动化中针对特定需求设计的自定义通信协议,具有高度灵活性和针对性,适用于小型设备、实时控制等场景。其核心包括自定义帧结构(起始符、地址码、数据区、校验位等)和通信规则(波特率、交互机制)。相比标准协议,自由协议效率更高但兼容性弱,设计时需注重可靠性、效率和可扩展性,适用于定制化或高实时性需求,如传感器数据采集或老旧设备改造。典型应用需平衡精简帧结构与抗干扰能力,同时预留扩展空间。

zyfucking2010的博客 2211

Android性能优化之应用瘦身(APK瘦身)

APK瘦身优化的优先级相对来说是比较低的,因为优化后也并不能明显的看到有什么好处,这一块主要影响转换率,应用越小, 可能用户下载的意愿就越高,另外在进行预装时,也有大小的要求。

fumeidonga的博客 1938

从零构建:Trinamic API在STM32上的深度移植与TMC-IDE通信实战

本文详细介绍了如何从零开始在STM32平台上深度移植Trinamic API,并实现与TMC-IDE工具的稳定通信。内容涵盖SPI底层驱动定制、寄存器配置、高级功能实现及调试技巧,重点解析了TMC5160芯片的集成实践,帮助开发者构建可靠的嵌入式运动控制系统。

w1x2y3的博客 253

【本地部署实战】LM Studio深度使用指南:从环境搭建到模型调优

LM Studio通过极简的操作流程和强大的生态兼容性,让本地部署大模型成为可能。随着M4芯片的发布和CUDA 12.0的优化,未来本地化AI开发将迎来新的爆发点。建议开发者关注官方Discord社区(https://discord.gg/lmstudio)获取最新模型支持信息。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 8749

安卓性能优化之APK瘦身

android { buildTypes { release { minifyEnabled true } } }

weixin_44903941的博客 257

【学习系列】SAP RAP 8:行为定义-Authorization Control

本文介绍了SAP RAP中的授权控制实现方法,主要分为读取操作和修改操作两种场景。读取操作通过ABAP CDS的数据控制语言(DCL)实现,使用访问控制对象限制数据可见范围;修改操作则通过行为定义中的权限检查,包括全局授权、实例授权和预检查三种方式。文章详细说明了如何使用DCL创建访问控制规则,并通过实例演示了全局授权和实例授权的代码实现方法,以及预检查功能在数据更新前的权限验证。这些授权控制机制共同确保用户只能访问和操作其权限范围内的数据,有效保障系统安全性。

DeveloperMrMeng的博客 432

Android性能优化:APK瘦身技巧

本文详细介绍了Android性能优化中的APK瘦身技巧,包括资源优化、代码优化和资源管理等方面。APK瘦身不仅能提升应用的加载速度,还能降低用户的流量消耗。开发者应该重视APK瘦身,合理运用各种优化技巧,以提高应用的性能和用户体验。在实际开发过程中,开发者还需不断学习和探索,结合应用的具体情况,选择合适的优化方法。未来,随着移动设备的性能提升和网络环境的改善,APK瘦身将更加重要。持续关注新技术:关注Android官方发布的最新技术和工具,掌握最新的优化方法。定期评估应用性能。

2501_92489105的博客 498

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android app性能优化_Android性能优化之Apk 瘦身优化

瘦身主要是下载转换率提高头部App都有Lite版本渠道合作产商要求APK 分析工具ApkTool 反编译工具官网:https://ibotpeaches.github.io/ApkTool apktool d students.apkAnalyze apkAndroid studio 2.2之后使用 - 查看apk组成大小,各资源占比 - 查看dex文件组成 - 可以进行apk对比通过Analyz...

weixin_39559277的博客 354

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Android性能优化系列之apk瘦身

Android性能优化系列之布局优化Android性能优化系列之内存优化为什么APK要瘦身。APK越大,在下载安装过程中,他们耗费的流量会越多,安装等待时间也会越长;对于产品本身,意味着下载转化率会越低(因为竞品中,用户有更多机会选择那个体验最好,功能最多,性能最好,包最小的),所以apk的瘦身优化也很重要,本篇博客将讲述apk瘦身的相关内容。包体分析在Android Studio工具栏里,打开bu

一个码农的博客 2万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Android 性能优化 - APK 瘦身

如何查看 apk 的组成 如果要优化 apk 的大小,我们首先需要知道我们编译出来的 apk 都包含哪些东西,然后针对占用大的做裁剪,或者删除不需要的东西,从而达到瘦身的目的。 查看 apk 的内容占用情况很简单,打开 AS ,把 apk 拖到 AS 里面就可以查看 apk 包含的内容了。 可以看到占大头的是 res 代码等,所以瘦身可以从这几个方面来考虑。 如何减少 res 资源大小 删除冗余的资源 一般随着项目的迭代,部分图片等资源不再使用了,但是可能仍然被编译到了 apk 里面,所以可以删除这部

Xander.Wang 的专栏 449

apk瘦身,Android性能优化——APK瘦身大全

作者:猩程变  来源:掘金 瘦身原因 Apk的大小对于用户是否选择下载应用起着至关重要的影响,也会是成为用户活跃度的原因之一 APK组成 我们都知道apk是由: . asserts . lib . res . dex . META-INF . androidManifest </pre> 这几个部分构成的。 通常来说我们可以AndroidStudio自带的Analyze APK工具进行APK的资源分析.

m0_57624876的博客 317

APP性能优化之-APK瘦身

简单分享APP性能优化之-APK瘦身 lib包优化 armeabi-v7a,x86 // so库可以只用armeabi-v7a minSdkVersion:21 android 5.0 对比图 font文件查询了很多资料,暂时没有好办法,font文件缩减的本质是删除位图,删除无关字形(比如日语韩语),删除字形名称,创建字形的子集,使用后发生大小没有什么变化 打包优化 shrinkResources...

Big_Sweet 266

性能优化之apk瘦身:APK瘦身详解

目录 1. 结构分析 2.具体实操 1. 对lib目录下的文件进行瘦身处理 2. 优化res,assets文件大小 3. 减少chasses.dex大小 4. 其他 1. 结构分析 首先上传一张瘦身前通过Analyze app分析出来的图片(打开方式:Android Studio下 ——> Build——> Analyze app): APK包结构如下: ...

duxingerlai的博客 559

Android性能优化:APK瘦身方式大汇总

大家都知道开发中应用程序的性能是非常重要的,将直接影响用户的体验,但是性能优化是个老生常谈的问题,我们需要慢慢来,本篇文章将从如何减少APK的大小开始,来提升Android App的性能,这里只是列举了一些方式方法,读者可根据自身应用需要对自己的APK进行相应处理。 用户经常会避免下载看起来太大的应用程序,尤其是在设备连接到2G和3G网络或付费网络的应用市场内部。这篇文章讲述如何减少您的应用程序APK的大小,以便使更多的用户下载您的应用程序。 理解APK文件结构 在讨论如何降低您的应用程序的大小之.

十年代码写十年 680

Android性能优化——APK瘦身大全

我们都知道apk是由:. asserts. lib. res. dex. META-INF这几个部分构成的。通常来说我们可以AndroidStudio自带的工具进行APK的资源分析进行我们的瘦身工作,关于工具的使用请参考视频 我们的瘦身也是通过分析APK的组成部分后进行操作,注意,重点来了,下面说说我对瘦身方案的理解,拿出你的小本本记录起来吧~

2401_84009929的博客 957

性能优化之apk瘦身

一:apk的分析 将apk直接拖入到android studio中,可以分析出lib,res等文件的大小 可以用https://nimbledroid.com/;这个网址可以直接分析apk的文件大小,dex方法数,sdk方法数 二:代码瘦身 1.第三方库的瘦身 各个三方库依赖的同个库版本需一致 对于同类型的库,选择方法数少的,可以用插件android method count来计算 对于一个库中只需要用其一个模块的功能,只需要集成对应功能即可,例如fresco中只需要其webp图片加载功能 2.删除

qq_33994844的博客 373
上一篇: QA软件质量相关一些概念
下一篇: java重写OverRide和重载OverLoad的区别
zz白龙
博客等级 码龄10年 26粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zz白龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值