-2

是否可以为 Android 中的所有密度(LDPI、MDPI、HDPI ......)提供图像资源,并且系统可以为每个设备选择合适的资源,或者只提供高分辨率的图像资源并将它们缩小到更有效分辨率较低的设备?最后一种情况,是系统自己做下采样,还是会导致很多OutOfMemory错误,性能变慢。另一方面,您可以使用提供 Android SDK 的正确类对图像进行下采样,但是每次加载应用程序时都必须进行下采样吗?任何帮助将不胜感激。

4

3 回答 3

1

代替使用原始图像格式,您可以使用一个Vector Graphics代替
您的默认 android 应用程序的图标实际上是一个矢量资源
在此处输入图像描述

可以在此处找到有关此的更多指南:
添加多密度矢量图形

于 2018-02-27T11:14:16.797 回答
1

是的,提供不同的尺度将是更合适的方式。再次是的,因为缩小图像效率不高,因为它会减慢应用程序的速度并且还会导致内存异常。但这是直接使用 ImageView 设置资源。正如毕加索之类的其他开源可用于将资源放入视图中(仍然很慢)。现在,最好为特定图像设置单独的比例。因为您不必以编程方式获取用户设备的分辨率并调整缩放比例,因为应用程序会自动从文件夹中选择最佳比例(更快的方式)。您甚至不必担心内存异常。就像没有工作一样。你只需要在你的drawable中保留必要的资源比例,你就可以开始了。你总能找到在线转换器,他们将您的资源重新缩放到所有比例并将其上传到 . 压缩文件。祝你好运!

于 2018-02-27T11:23:44.897 回答
0

您还可以使用单个矢量图像作为资源来减少您的 apk 大小

于 2018-02-27T12:16:43.807 回答