Android 为什么我们必须为所有设备屏幕尺寸提供图像(移动开发)?

Android 为什么我们必须为所有设备屏幕尺寸提供图像(移动开发)?,android,ios,Android,Ios,为什么在开发移动应用程序时,我们必须为所有屏幕尺寸提供图像?如果只为每个唯一的图像设置一个非常大的图像,然后在较小的设备上运行应用程序时将图像缩小,不是更有效吗?它肯定会使游戏的文件大小小得多。在很多情况下,它看起来不会那么好 如果你找到一组设计良好的图标,你会发现它们是为每种分辨率独立设计的:较小的图标会故意减少细节,因为缩小尺寸不会产生很好的效果 这里有两个GNOME图标,一个是256x256,另一个是48x48。您可以看到,48x48版在信上的书写细节较少,但书写方式也有很大不同:在256

为什么在开发移动应用程序时,我们必须为所有屏幕尺寸提供图像?如果只为每个唯一的图像设置一个非常大的图像,然后在较小的设备上运行应用程序时将图像缩小,不是更有效吗?它肯定会使游戏的文件大小小得多。

在很多情况下,它看起来不会那么好

如果你找到一组设计良好的图标,你会发现它们是为每种分辨率独立设计的:较小的图标会故意减少细节,因为缩小尺寸不会产生很好的效果

这里有两个GNOME图标,一个是256x256,另一个是48x48。您可以看到,48x48版在信上的书写细节较少,但书写方式也有很大不同:在256x256版上,它看起来像文档的中间页,而在48x48版上,它看起来像一封信的开头,顶部有一个地址


在很多情况下,它看起来不会那么好

如果你找到一组设计良好的图标,你会发现它们是为每种分辨率独立设计的:较小的图标会故意减少细节,因为缩小尺寸不会产生很好的效果

这里有两个GNOME图标,一个是256x256,另一个是48x48。您可以看到,48x48版在信上的书写细节较少,但书写方式也有很大不同:在256x256版上,它看起来像文档的中间页,而在48x48版上,它看起来像一封信的开头,顶部有一个地址


它将使.apk文件的大小大大减小,但在运行时效率方面会有更多不希望的折衷


必须加载大型位图对象并将其缩小是设备处理器不必要的负载。但更重要的是,必须将大型位图对象加载到内存中会使VM的内存更快地填满。这意味着VM必须更频繁地进行垃圾收集,这可能会在运行时造成明显的延迟。这可能会导致动画丢失帧并看起来更粗糙。

这会使.apk文件的大小显著减小,但在运行时效率方面会有更多不希望的折衷


必须加载大型位图对象并将其缩小是设备处理器不必要的负载。但更重要的是,必须将大型位图对象加载到内存中会使VM的内存更快地填满。这意味着虚拟机必须更频繁地进行垃圾收集,这可能会在运行时造成明显的延迟,这可能会导致动画丢失帧并看起来更粗糙。

调整图像大小不是免费的。调整图像大小不是免费的。