Android Studio - 多个屏幕的图像使 apk 的大小变得异常大

AndroidStudio - Images for multiple screens makes size of apk grow exceptionally large

我正在使用 AndroidStudio 制作一个 android 项目,但我对我使用的图像的 物理 大小有疑问。

基本上我有 15 个活动,所有活动的背景和按钮都有不同的 .png 文件。这些图片是全高清 (1080x1920)。我使用拍摄照片的插件 Android Drawable Importer 为每张图片创建了不同的 "variations",并为不同的屏幕密度创建了 "redraws"(ldpimdpihdpixhdpixxhdpi xxxhdpi).到目前为止一切顺利。

但是这样做我会为我的每张照片(总共 96 张)制作 5 份。所有可绘制目录中生成的图片的总大小约为 100MB,这使得 .apk 文件如此之大。

所以我的问题是:有没有办法优化这个大小或其他更好的方法?

我已阅读 Supporting multiple screens 文章,其中告诉我做我正在做的事情,但 id 不考虑 .apk 文件的结果大小以及应用程序安装时的大小phone.

你不能让应用根据屏幕尺寸下载一次(只下载一次并且 cache/store 它在 SD 卡中)所需的图像(大的,可能是背景图像,如果不是全部的话)或来自服务器的解析。

我不认为使用那么多图像和那么大尺寸是个好主意。

恕我直言,如果用户使用的是 xxxhdpi 屏幕分辨率的设备,我可以假设他至少有能力下载这些图像至少一次!同样适用于其他用户!

如果上述解决方案不适合您,我建议您通过压缩使用这些图像。有一些软件可以做到这一点。或者您可以使用在线网站: https://tinypng.com 压缩图像。

尝试使用 svg http://developer.android.com/tools/help/vector-asset-studio.html

使用现有方法: 如果您使用 5 英寸以下的屏幕,请使用 hdpi 图像;否则,如果超过 7 英寸,则使用 xdpi,使用 xhdpi。如果您只针对屏幕小于 5 英寸的设备,那么坚持使用 hdpi 本身,它将达到目的。

实际上,我的解决方案非常简单。我为我的背景图片使用 .png 文件,这占用了很多 space 并且实际上没有必要这样做,因为我不需要我的背景是透明的。因此,我将背景文件转换为 .jpg,并将所有其他按钮图像保留在 .png 中,.apk 的大小变为 16MB。这比我最初的 .apk.

小 8-9 倍