随着越来越多的数字化,我们对日常使用的移动和移动应用程序的要求也越来越高。移动存储空间的增加提高到256 GB,随着我们满足客户需求,添加新功能并支持不同屏幕尺寸的应用程序,这肯定会增加。

根据该报告,全球74%的用户使用Android,大约70%的用户在安装任何应用程序之前都会查看应用程序的大小。

而且,令我们惊讶的是,新兴市场中有70%的人寻找应用程序的大小,因为他们担心数据成本和手机存储空间。

由于您正在阅读本文,因此有两种可能性。您要么是面临上述问题的普通用户(读者), 就像我一样, 要么是受雇的 Android 应用开发人员, 他们有能力通过在 Android 应用开发生命周期中减少 Android 应用来不让用户面对此问题。

但是,本文的全部内容都是关于如何在安卓应用开发期间优化或减小安卓APK大小。因此,如果您是初学者或经验丰富的Android应用程序开发人员,这些技术和方法肯定会帮助您开发不需要更多空间的正常和标准的Android应用程序。

重要的安卓应用程序大小

在这个移动驱动的世界中,移动应用程序的普及率每天都在增加。由于这个原因,它也增加了对为这两个平台开发基于Android和iOS的应用程序的应用程序开发人员的需求。但是,在Android和iPhone应用程序开发方面拥有丰富的经验,我们已经看到并非每个Android或iOS应用程序都能达到标准并取得成功。换句话说,我们可以说并非每个智能手机用户都喜欢每个应用程序。

但是你知道为什么吗?这背后的实际原因是什么?好吧,我们已经发现,根据Google的报告,如果应用程序大小超过150 MB,即早期的100 MB,则其安装的机会将降低30%。此外,对于每 6 MB 的扩展大小,安装转化率可能会下降 1%。根据研究,如果发现应用程序太大,65%的人不会安装该应用程序。由于互联网数据的高消耗量以及存储更多空间,他们将避免此类应用程序。

现在,谷歌提出了一个更好的解决方案。它已经提出了Android应用程序包,这允许您安装应用程序,甚至无需下载Play商店上其他应用程序中存在的基本元素,从而有助于减小大小,几乎减少35%。

所以,现在的问题是,如果你的Android应用程序需要更多空间怎么办?而且您知道,如果您的应用程序占用更多空间,那么人们根本不愿意下载它。您可以理解这样一个事实,即在仅在一个应用程序上花费大量数据后,没有用户愿意遇到麻烦。

因此,现在让我们来看看在安卓应用开发过程中减少安卓应用大小或APK大小。

1.使用安卓应用程序包来减小应用程序大小

当您开发安卓应用程序并准备发布应用程序时,您必须在APK和Android应用程序包之间进行选择。Android应用程序包将使谷歌游戏仅与那些需要功能的特定用户一起创建APK。

安卓应用程序包

  • 对于包含已编译代码和应用资源的发布格式,系统会使用 Android 应用捆绑包,这会延迟 APK 生成和登录 Google Play。
  • 对于 Android 应用程序包,压缩的下载大小限制为150 MB。应用程序捆绑包不能与 APK 扩展文件一起使用。

2. 使用专业卫士

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

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

3. 使用安卓尺寸分析器插件

为了大大减小安卓应用程序的大小,您的选择是安卓工作室插件。借助 APK 分析器,安卓开发者将完成以下任务:

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

4. 图像优化

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

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

事实上,图像可以在没有静态资源的情况下创造奇迹。在运行时,框架足以动态绘制此类图像。此外,在创建小型应用程序时,使用矢量可绘制对象是一个好主意。

由于这些应用程序可以在APK文件中的最小空间中生存,并创建符合材料设计规则的图片,因此使用矢量可绘制对象很有价值。人们还应该注意可能出现的关于CPU和RAM使用作为复杂对象的争论。

5. 支持特定屏幕密度

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

若要销毁将所有未使用的屏幕密度捆绑到你的应用中,请进行分析以确定具有特定密度的设备的用户百分比。如果此百分比率无关紧要,则有理由消除它们并减轻应用大小。

6. 删除死码

APK文件的大小与应用程序的加载速度,占用的内存以及消耗的功率直接相关。因此,为了保留而保留的任何未使用或不适当的代码只会增加垃圾。这就是为什么需要删除死代码或代码消除才能使应用全天保持活动状态并充满活力。

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

7. 重用您的资源

重用确实比删除更好,更简单。这是以各种方式利用资源的惊人方式。它为您提供了流畅的滚动性能。它可以帮助您减小安卓APK的最终大小。您可以消除那些仅轮换等效于另一个资源的资源。

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

8. 多个APK文件支持

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

但是,这种麻烦使开发人员的思想致力于更好的解决方案,以仅下载对用户有益的应用程序的某些部分。很抱歉,无法下载 APK 的有用部分。

但是,为了使它更接近这些解决方案,您可以通过Android应用程序包通过Google Play商店上传应用程序,该捆绑包允许Google在设备配置的基础上启用优化的APK。为此,您可以将一个应用划分为多个 APK。在此之后,用户可以根据其设备配置仅获得那些对他们有益的APK。

9. 避免枚举

枚举是可疑的。可以将单个文件轻松添加到应用程序 classes.dex 文件(从 1.0 到 1.4 KB)范围内的任意位置。如果有复杂的框架或共享库,这些可能会消耗大量的高速。

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

最后的思考

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

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

在安卓应用开发过程中减小安卓应用大小的 9 种方法相关推荐

  1. 安卓在子线程中实现更新UI界面的三种方法 Handler+Message、runOnUiThread、控件.post()

    1.说明 安卓中UI线程为主线程,更新UI界面必须在主线程中进行,在子线程中实现更新UI界面的三种方法:Handler.RunOnUiThread.控件.post() 2.1 Handler (1)定 ...

  2. JS获取URL中参数值(QueryString)的4种方法分享

    http://www.jb51.net/article/48942.htm JS获取URL中参数值(QueryString)的4种方法分享 作者: 字体:[增加 减小] 类型:转载 今天碰到要在一个页 ...

  3. 在HTML中使用CSS美化网页的三种方法

    在HTML中使用CSS美化网页的三种方法 CSS是Cascading Style Sheets(级联样式表)的缩写,CSS是一种样式表语言,用于为HTML文档定义布局.例如,CSS涉及字体.颜色.边距 ...

  4. shell实例第19讲:一个脚本中调用另一个脚本的3种方法

    在Shell脚本中调用另一个脚本(3种方法) 准备:主脚本是second.sh,主脚本中调用first.sh 方法1:exec(1)执行方式:exec /home/weibo/shell_test/s ...

  5. js中当等于最小值是让代码不执行_网页中JS函数自动执行常用三种方法

    本文为大家分享了在网页中JS函数自动执行常用方法,供大家参考,具体内容如下 一.JS方法 1.最简单的调用方式,直接写到html的body标签里面: 2.在JS语句调用: function myfun ...

  6. 在电商运营中与客户建立信任的4种方法

    在电商运营中与客户建立信任的4种方法 在众多人的财务和消费行为数据被泄露或非法收集之后,网络购物所带来的风险已成为消费者最为关注的问题之一. 建立客户的信任绝对不是一件容易的事情,尤其是对于电商企业来 ...

  7. java中批次号_在一个批次中插入多笔记录的几种方法

    插入数据库方法很多,下面Insus.NET列举几种方法,看看你常用的是哪一种: 创建一张表: CREATE TABLE [dbo].[Network_Info] ( [ID] INT NOT NULL ...

  8. ABAP中创建动态内表的三种方法(转载)

    BAP中创建动态内表的三种方法 第一种: 如果我们需要的动态内表字段或者动态工作区和数据字典中的类型一致,可以直接使用CREATE DATA生成,当然也可以是自定义类型. 比如要产生和数据表MARA结 ...

  9. android启动其他app的服务器,Android中通过外部程序启动App的三种方法

    这篇文章主要介绍了Android中通过外部程序启动App的三种方法, 本文讲解了直接通过包名. 通过自定义的Action. 通过Scheme三种方法,并分别给出操作代码,需要的朋友可以参考下 ==== ...

最新文章

  1. 干货 | 非常全面的谱聚类算法原理总结
  2. canvas绘制闹钟-方法1
  3. docker常用命令行集锦
  4. 93. 复原 IP 地址(回溯算法)
  5. 【Flask】url_for函数
  6. centos7 卸载Qt5
  7. 武科大计算机网络课程设计,【川大】计算机网络课程设计9013,奥鹏2017
  8. android 方法统计,Android 利用编译时 注入 统计App内所有方法执行时常,分析ANR
  9. 三菱有C语言PLC控制器,三菱PLC可程序设计控制器系列软件介绍
  10. PDF文件电子签名怎么做?分享一个好用的签名工具
  11. 数据分析面试手册《指标篇》
  12. 英语计算机单词怎么记,英语单词快速记忆法
  13. 【机器学习】使用scikitLearn对数据进行聚类:Kmeans聚类算法及聚类效果评估
  14. 淘宝店铺pc端代码详细解析
  15. 诺基亚联手迪信通 力推内置仙剑三版5230手机
  16. 财经365内参:万亿赛道迎五部门发利好
  17. 静态分析工具PMD使用说明
  18. Java NIO(四)选择器Selector
  19. php laravel入口文件,Laravel 应用的入口:路由系列之基础入门篇
  20. Linux内核的VGA模式对照表

热门文章

  1. 【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
  2. 云闪付华为P9指纹_截胡小米支付妥妥的!华为支付正式上线,支持25家银行
  3. win10右键卡死/导航栏点击文件夹图标无法弹出资源管理器/右键cmd以管理员身份运行无反应
  4. Unexpected token o in JSON at position 1报错
  5. SpringCloud Stream+RabbitMQ自定义通道
  6. 服务器端口怎么调出虚拟键盘,Win8小技巧之如何设置触控虚拟键盘
  7. 玩一玩微信公众号开发(二) 管理凭据和自定义菜单
  8. python编辑word的格式_Python 如何对word文档(.docx)的页眉和页脚进行编辑?
  9. Mq报错:Caused by: com.rabbitmq.client.ShutdownSignalException
  10. [笔记]快乐的Linux命令行《二》文件系统中跳转