如何在Android应用程序中处理非常大的可绘制文件

如何在Android应用程序中处理非常大的可绘制文件,android,performance,android-layout,android-studio,android-drawable,Android,Performance,Android Layout,Android Studio,Android Drawable,我的客户为我提供了非常大分辨率的背景图像和飞溅图像。他坚持认为图像的质量不应该受到损害 他希望在三星Galaxy s5和其他小型设备上运行该应用程序 现在我有17MB背景图像和其他高分辨率图像 我已经阅读了android提供的hdpi、ldpi和其他屏幕分辨率,但我无法理解如果我将所有这些图像都放在Drawabables中,那么我的apk文件的大小将如此之大 请指导我如何管理高分辨率图像。您可以根据android的密度调整图像大小 ldpi(低)~120dpi mdpi(中等)~160dpi

我的客户为我提供了非常大分辨率的
背景图像
飞溅图像
。他坚持认为图像的质量不应该受到损害

他希望在三星Galaxy s5和其他小型设备上运行该应用程序

现在我有
17MB
背景图像和其他高分辨率图像

我已经阅读了android提供的
hdpi
ldpi
和其他屏幕分辨率,但我无法理解如果我将所有这些图像都放在
Drawabables
中,那么我的
apk
文件的大小将如此之大


请指导我如何管理高分辨率图像。

您可以根据android的密度调整图像大小

ldpi(低)~120dpi

mdpi(中等)~160dpi

hdpi(高)~240dpi

xhdpi(超高)~320dpi

xxhdpi(超高)~480dpi


xxxhdpi(超高)~640dpi

您可以根据android的密度调整图像大小

ldpi(低)~120dpi

mdpi(中等)~160dpi

hdpi(高)~240dpi

xhdpi(超高)~320dpi

xxhdpi(超高)~480dpi


xxxhdpi(超高)~640dpi

如果你不想让你的应用程序太重,那么你可以将这些图像放在服务器上,然后在活动开始时加载这些图像,但为此,你需要互联网连接。

如果你不想让你的应用程序太重,那么你可以将这些图像放在服务器上,然后在活动开始时加载这些图像,但是为此,您将需要internet连接。

现在移动设备上的最高分辨率是2k分辨率。。。。因此,您可以将图像的分辨率降低到2k,并将此单一图像用于所有设备,因为android将缩放大图像以适应小分辨率屏幕,,,不要忘记使用像glde这样的库来加载图像,因为它们具有良好的内存管理技术,即使在内存较低的设备上也可以对图像进行膨胀。您不需要使用分辨率超过2560x1600的大图像。如果图像大于此分辨率,则可以使图像变小。您的客户端无法注意到差异:)但2500X1600图像也将在5-6MB左右,因此8个图像将在40-50mb左右。移动设备上的最高分辨率现在是2k分辨率。。。。因此,您可以将图像的分辨率降低到2k,并将此单一图像用于所有设备,因为android将缩放大图像以适应小分辨率屏幕,,,不要忘记使用像glde这样的库来加载图像,因为它们具有良好的内存管理技术,即使在内存较低的设备上也可以对图像进行膨胀。您不需要使用分辨率超过2560x1600的大图像。如果图像大于此分辨率,则可以使图像变小。您的客户不会注意到差异:)但是2500X1600图像也将大约为5-6MB,因此8个图像将大约为40-50mb。但是添加多个图像资源不会增加我的
apk
文件的大小。现在,您可以添加hdpi、xhdpi、xxhdpi!!将适用于所有手机,因为大多数手机都会从中拾取图像。此外,这也将减少您的apk大小:)但添加多个图像资源不会增加我的
apk
文件的大小,因为现在您可以添加hdpi、xhdpi、xxhdpi!!将适用于所有手机,因为大多数手机都会从中拾取图像。此外,这也将减少您的apk大小:)