📌  相关文章
📜  如何在Android中减少APK大小?

📅  最后修改于: 2021-05-10 14:40:10             🧑  作者: Mango

在为任何组织或企业构建任何应用程序时,APK大小是最重要的因素之一。没有用户愿意安装一个很大的APK并在下载该APK时消耗其数据。 APK的大小将影响您的应用程序性能,包括加载速度,消耗的内存量以及使用的内存量。在开发过程中查看APK大小非常重要。在本文中,我们将介绍在Android Studio中减少APK大小的提示。

1.删除未使用的资源

APK的大小取决于很小的因素,而可能是应用程序中使用的代码,图像和资产。为了减小APK的大小,请删除未使用的资源,这将在一定程度上减小APK的大小。删除未使用的APK来源,例如未使用的png,jpeg和许多其他资源。小尺寸图像对于缩小APK大小也是可取的。建议使用矢量可绘制对象,而不要使用其他图像格式,例如JPEG,PNG等。矢量可绘制对象的尺寸很小,并且矢量可绘制对象的主要优点是即使增大或减小尺寸,它们也不会损失其质量。

2.矢量可绘制对象的使用

避免使用jpeg和png图像,因为与普通矢量可绘制对象相比,它们消耗很高的内存。矢量可绘制对象易于缩放,并且其质量不会随着大小的变化而降低。

3.重用您的代码

尽可能重用您的代码,而不要重复代码。面向对象编程将为您解决此问题提供很多帮助,也将有助于保持APK的大小。重复代码将增加该特定文件的大小,并导致APK大小增加。

4.压缩PNG和JPEG文件

在大多数情况下,图像是降低应用内和网站性能的主要目的。因此,最好使用压缩图像来减小其大小并提高应用程序性能。图片的大小也会影响APK的大小,因此最好在您的应用中使用压缩图片。您可以使用许多在线平台免费压缩图像。

5.皮棉的使用

Lint是重要的工具之一,它将帮助我们在您的应用程序内部获取未使用和重复的代码。因此,该工具将有助于删除重复的和未使用的代码。

6.使用WebP文件格式的图像

WebP是Google开发的另一种著名的图像格式。这种图像格式通常着重于图像质量和优化。 WebP图像格式由于其质量而不是使用PNG和JPEG格式的图像,因此非常可取。

7.使用保卫者

Proguard在调整Android APK的大小方面也起着重要作用。下面给出了使用Proguard的主要功能:

  • 这使应用程序难以进行反向工程。
  • 通过删除未使用的类和方法,它有助于减小应用程序的大小。

您可以在Gradle脚本> build.gradle文件中找到Android App中的Proguard。

8. ShrinkResources的使用

ShrinkResources方法将显示在build.gradle文件中。此方法将删除项目中未使用的资源。您必须通过将其指定为true来启用它。您可以在build.gradle文件> buildTypes> release> rinkResources中找到此方法。启用它为true。

9.使用R8减少APK的大小

R8的工作原理类似于proguard。 R8缩小是我们减少代码量的过程,有助于自动减少APK大小。 R8使用proguard规则,并更快地收缩代码以改进输出大小。

10.限制外部库的使用

在我们的应用程序中添加许多外部功能时,我们更喜欢使用一些外部库。这些外部库将安装由它们提供的类,其中的某些类不是必需的,也没有用处,它们会消耗存储空间,并导致APK大小增加。因此,最好限制外部库的使用以减小APK的大小。

11.使用Android Size Analyzer工具

在Android Studio中,有一个名为Android Size Analyzer的插件,该工具将帮助查找我们APK的不同文件消耗的内存量。除此大小外,分析器工具还将为我们提供一些提示,这些提示将有助于减小APK的大小。要分析您的APK大小,只需单击构建>分析APK选项,然后选择您的APK。您将看到带有分发的文件的实际大小以及可下载的大小。借助此工具,您还可以将以前的APK的大小与新APK的大小进行比较。

12.生成App Bundles而不是APK

Android App Bundle是Google提供的一种发布格式。它由您的应用程序的代码和资源组成,不同于APK生成和向Google Play签名的资源。 Google Play将处理您应用的捆绑软件,它将根据设备配置为特定设备生成优化的APK。使用应用程序捆绑包时,无需为不同的设备生成多个APK文件。要为您的应用生成应用捆绑包,您只需单击Build> Build Bundle(s)/ APK(s),然后单击Build Bundle(s)。您的应用程序捆绑包将生成。

13.使用多个APK文件

如果您不想为应用程序创建捆绑包,则可以选择创建多个APK文件的选项。多个APK文件可用于支持不同的设备类型和不同的CPU体系结构。

14.减小库的大小

如果您正在使用这些库在项目中添加一些自定义视图,则可以添加Google提供的正式库。通常,添加库使在我们的应用程序内部轻松添加新功能变得更加容易,但是同时,这也会影响我们应用程序的大小。在构建任何应用程序时,最好减少库的使用。

15. Resconfigs的使用

在构建Android应用程序时,它内部具有一些默认资源。我们在设备中使用的所有这些支持库都具有本地文件夹,这些文件夹实际上是我们实际上不在我们的应用程序内的其他语言的。这些文件夹还会在我们的应用程序中占用一些内存位置。我们可以使用resConfigs删除APK内部不需要的这些资源,这将有助于在一定程度上减少应用程序的大小。如果您要针对特定的特定受众构建特定的应用程序,并且该受众仅使用特定的语言(如印地语),那么我们将仅保留印地语语言的资源,并且会删除所有其他不需要的语言。

16.删除仅调试所需的库

许多开发人员使用一些特定的库来调试其APK文件。这些调试库还将在我们的APK文件中占用一些存储空间。我们可以在应用程序内部使用debugImplementation()方法来仅在调试时使用这些调试库。因此,这些库仅在调试时使用,不会添加到版本APK文件中。

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!