随着越来越多的数字化,对我们日常使用的移动和移动应用程序的要求也越来越高。移动存储空间增加至 256 GB,随着我们满足客户需求、添加新功能和支持不同屏幕尺寸的应用程序,这一数字肯定会增加。
根据该报告,全球 74% 的人使用 Android,大约 70% 的用户在安装任何应用程序之前会查看应用程序的大小。
而且,令我们惊讶的是,新兴市场中有 70% 的人寻找应用程序的大小,因为他们担心数据成本和手机存储空间。
由于您正在阅读本文,因此有两种可能性。您要么是面临上述问题的普通用户(读者) - 就像我一样,要么是受雇的 Android 应用程序开发人员,他们有权通过在 Android 应用程序开发生命周期中减少一个 android 应用程序来不让用户面临这个问题。
但是,这篇文章是关于如何在 Android 应用程序开发过程中优化或减小 Android APK 大小的。因此,如果你是一个初学者或有经验的安卓应用开发者,这些技巧和方法一定会帮助你开发出一个不需要更多空间的正常和标准的安卓应用。
重要的 Android 应用程序大小
在这个移动驱动的世界中,移动应用程序的普及每天都在急剧增加。也正因为如此,它也增加了对为这两个平台开发基于 Android 和 iOS 的应用程序的应用程序开发人员的需求。但是在 Android 和 iPhone 应用程序开发方面拥有良好的经验,我们已经看到并非每个 Android 或 iOS 应用程序都能达到标准并获得成功。换句话说,我们可以说并不是每个智能手机用户都喜欢每个应用程序。
但你知道为什么吗?这背后的真正原因是什么?好吧,我们已经弄清楚了谷歌的报告,如果一个应用程序大小超过 150 MB,之前是 100 MB,它的安装机会将降低 30%。此外,对于每 6 MB 的大小扩展,安装转化率可能下降 1%. 根据研究,如果发现应用程序太大,65% 的人不会安装该应用程序。由于互联网数据的大量消耗以及存储更多空间,他们将避免使用此类应用程序。
现在,谷歌想出了一个更好的解决方案。它提供了 Android App Bundle,它允许您安装应用程序,甚至无需下载 Play 商店中其他应用程序中无论如何都存在的基本元素,从而帮助减小了几乎 35% 的大小,正如 Google 所认为的那样。
那么,现在的问题是,如果您的 android 应用程序需要更多空间怎么办?而且您知道,如果您的应用程序占用更多空间,那么人们根本不会喜欢下载它。您可以理解这样一个事实,即没有用户愿意在一个应用程序上花费大量数据后遇到麻烦。
那么,现在让我们看看在 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 应用程序开发人员,您在开发应用程序时应该牢记这些方法。通过减小应用程序的大小,您可以鼓励更多的人在他们的智能手机上下载它。