为Android中的所有密度(LDPI,MDPI,HDPI ...)提供图像资源是否可以,系统可以为每个设备选择合适的图像资源,或者只提供高分辨率的设备更有效率将它们缩小到较低分辨率的设备?在最后一种情况下,系统本身可以进行下采样,还是会导致很多OutOfMemory错误并降低性能。另一方面,您可以使用提供Android SDK的正确类来对图像进行缩减采样,但是每次加载应用程序时都必须进行缩减采样吗?任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用Vector Graphics
代替原始图片格式,而不是使用原始图片格式
您的默认Android应用程序的图标实际上是一个矢量资源
有关此问题的更多指南可在此处找到:
Add Multi-Density Vector Graphics
答案 1 :(得分:1)
是的,提供不同的比例将是更合适的方式。是的,因为缩小图像效率不高,因为它会降低应用程序的速度并且还会导致内存异常。但是,这是使用ImageView直接设置资源。像毕加索这样的其他开源可以用来适应视图中的资源(仍然很慢)。现在,为特定图像设置单独的比例是最好的。因为您不必以编程方式获取用户设备的分辨率并调整缩放比例,因为应用程序将自动从文件夹中选择最佳比例(更快的方式)。您甚至不必担心内存异常。这就像没有工作。你只需要在你的drawable中保留必要的资源比例,你就可以了。您总是可以找到在线转换器,他们将您的资源重新调整到所有规模,并上传到。 zip文件。祝好运!
答案 2 :(得分:0)
您还可以使用单个矢量图像作为资源来减少apk尺寸