在 Android 应用程序开发期间减少程序大小的 9 种方法

146 阅读6分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情

随着数字化的发展,对我们日常使用的移动应用程序的要求也越来越高。移动存储空间增加至512GB甚至1TB,随着需求的不断增加,添加新功能和支持不同屏幕尺寸的应用程序,这一数字肯定会增加。 

根据该报告,全球74%的人使用 Android,大约 70% 的用户在安装任何应用程序之前会查看应用程序的大小。而且,令我们惊讶的是,70% 的人寻找应用程序的大小,因为他们担心数据成本和手机存储空间。

但是,这篇文章是关于如何在 Android 应用程序开发过程中优化或减小Android APK大小的。因此,如果你是一个初学者或有经验的安卓应用开发者,这些技巧和方法一定会帮助你开发出一个不需要更多空间的正常和标准的安卓应用。

1. 使用 Android App Bundle 减少应用程序大小

当您开发了您的 android 应用程序并准备发布您的应用程序时,您必须在 APK 和 Android App Bundle 之间进行选择。Android App Bundle 将使 Google Play 只为那些需要功能的特定用户创建 APK。

Android 应用程序包

  • 对于包含应用程序的编译代码和资源的发布格式,使用 Android App Bundle 并延迟 APK 生成和对 Google Play 的签名。
  • 借助 Android App Bundle,压缩下载大小限制为 150 MB。app bundle 不能与 APK 扩展文件一起使用。

2.使用Proguard

为了减少您的应用 APK 大小,Proguard 可能是最有用的工具之一。它将直接将源代码文件减少到最小,并且可以将APK文件大小降低到90%。

  • 每当使用Proguard,尝试使用所有变体。
  • 如果在开发过程中用于所有变体,Proguard 有助于避免生成的 APK 或捆绑包中的争议。
  • ProGuard 重命名或删除这些数据类上的任何字段不是我们可以做的,因为它们必须匹配序列化格式。

3. 使用 Android Size Analyzer 插件

为了显着减小您的 Android 应用程序的大小,您可以选择 Android Studio 插件。使用 APK Analyzer,Android 开发人员将完成以下任务:

  • 查看 APK 的完整大小和比较大小。
  • 了解 DEX 文件的组成。
  • 快速查看 APK 中文件的最终版本,例如 AndroidManifest.xml 文件。
  • 对两个 APK 进行并排比较。

4.图像优化

更高分辨率的图像始终是吸引用户访问网站的最佳和首选。由于最新的移动设备具有良好的相机分辨率,因此可以通过稀释分辨率来减小图像尺寸。如果您不想失去图像质量,则必须将 .jpg 或 .png 图像转换为 .webp。

在不减小尺寸的情况下使用图像可能会影响应用程序的质量。无需在应用程序中上传或使用原始图像,而是将 .jpg 和 .png 图像转换为 Web 格式。对于 png 文件,您还可以使用 pngcrush 或 Zopflipng 等工具。对于 jpg 文件,您可以使用 packJPG 和 Guetzli 等工具。您还可以使用矢量图形,因为它使图像变得简单并利用空间。

android {    
  defaultConfig {   
       vectorDrawables.useSupportLibrary true     
                }  
         }

在运行时,该框架足以动态绘制此类图像。此外,在创建小型应用程序时,使用 Vector Drawables 对象是一个好主意。由于这些应用程序可以在 APK 文件中的最小空间中生存并创建符合材料设计规则的图片,因此使用 Vector Drawables 很有价值。人们还应该注意可能出现的关于 CPU 和 RAM 使用作为复杂对象的争论。

5. 支持特定屏幕密度

要减小 Android 应用程序大小,以正确的方式利用特定的屏幕密度是另一个不错的选择。有 100 万台支持 Android 的设备具有不同的屏幕密度。然而,我们不使用整个屏幕密度,并且可以消除不需要的内容。

要破坏将所有未使用的屏幕密度捆绑到您的应用程序中,请分析以确定具有特定密度设备的用户的百分比。如果这个百分比是微不足道的,你有理由消除它们并减轻你的应用程序大小。

6.删除死代码

APK 文件的大小与应用的加载速度、占用的内存以及消耗的电量直接相关。因此,为保留而保留的任何未使用或不适当的代码只会增加垃圾。这就是为什么需要删除死代码或消除代码才能让您的应用始终保持活跃和充满活力。

这种代码删除将提高源代码的质量并降低维护代码大小的需求,从而体现出一个健康的应用程序整体。

7. 重用你的资源

重用确实比删除更好更简单。这是以各种方式利用您的资源的绝佳方式。它为您提供流畅的滚动性能。它可以帮助您减小 Android APK 的最终大小。您可以消除那些仅轮换等效于其他资源的资源。

假设您可能有巧妙的资源来表征图像中与色调、阴影和方向有关的品种。但是,您可以将相同的资源用于其他图像。 

8.多个APK文件支持

一些 APK 包含已下载但几乎从未使用过的内容。例如,并不总是需要附加语言之类的附加组件;但是,它们无论如何都会被下载。这会占用您存储空间中的额外空间并扩大应用程序。

然而,这个麻烦已经使开发人员的思想努力寻找更好的解决方案,以仅下载对用户有益的应用程序的某些部分。不幸的是,无法下载 APK 的有用部分。 

但为了使其更接近这些解决方案,您可以通过 Android App Bundle 将应用程序上传到 Google Play 商店,这允许 Google 根据设备配置启用优化的 APK。为此,您可以将一个应用分成多个 APK。在此之后,用户只能根据他们的设备配置获得对他们有利的 APK。

9. 避免枚举

枚举是可疑的。一个可以很容易地添加到应用程序的 classes.dex 文件中,范围从 1.0 到 1.4 KB。如果有复杂的框架或共享库,这些可能会消耗大量的高速。

那么,如何克服这个问题呢?好吧,使用 ProGuard,您可以将枚举转换为整数,最终结果是缩小了应用程序的大小。

最后的想法

这些只是您可以在 Android 应用程序开发阶段在您的 Android 应用程序中实施的简单技术。这肯定会帮助您了解如何减少应用程序大小或 APK 文件并提高效率。

作为 Android 应用程序开发人员,您在开发应用程序时应该牢记这些方法。通过减小应用程序的大小,您可以鼓励更多的人在他们的智能手机上下载它。