如果所有资源都放在 android app bundle 的一个分辨率中怎么办

What if all resources are placed in one resolution for android app bundle

我们都知道 Google 推出了使用 android-app-bundle 分发 android apk 的新功能,它有很多优点。

所以我的问题是,如果我将所有 images/resources 放在像 drawable-xxxhdpi 这样的单个文件夹中,我的应用程序将如何运行。例如假设我有一个使用 5 张图像的应用程序。我没有为不同的分辨率采用不同的尺寸,而是将所有图像放在单个文件夹 (drawable-xxxhdpi) 中,假设让 android 根据设备分辨率处理它。

我们知道 android-app-bundle 会根据分辨率、语言等生成不同的 apk。

那么在那种情况下我的应用程序会发生什么情况?如何为不同的分辨率生成 APK(Android 本身重新缩放图像并生成包?)应用程序会发生什么,它会崩溃还是在较小分辨率的设备上正常工作?

我知道这是非编码问题,而是技术问题。我试图搜索此内容,但找不到确切的答案。

我可能也会帮助别人。

这个问题很好而且很有帮助,我认为您的应用程序可以在 xxxhdpi 设备上正常运行,但是那些 mdpi 或 hdpi 设备将面临布局问题。我认为不会有任何其他问题。

您的应用程序将像以前一样工作:Play 为给定设备提供 Android 平台在为 APK 提供所有文件时本应加载的文件。

换句话说,如果 mdpi 设备会加载资源 res/drawable-xxxhdpi/icon.png,那么 Play 将为该设备提供资源。

--

此外,与您的问题略微无关,但请注意,仅在 xxxhdpi 中提供资源存在一些缺点(无论您发布的是 APK 还是 Android AppBundle):

  1. Android 平台将不得不在运行时在较低分辨率的设备上重新缩放这些图像,因此需要一些 CPU 时间并使您的应用程序稍微变慢。

  2. 您的应用比在低分辨率设备上更大。如果您还在 mdpi 中提供相同的资源,它显然会更小,这就是 Play 为 mdpi 设备提供的服务,从而使您的应用程序对于这些设备来说更小。

低分辨率设备会触发资源未找到异常