【发布时间】:2014-06-17 23:58:36
【问题描述】:
我是 android 开发新手,我一直在阅读有关如何在我的应用程序中正确包含图像资源的信息。各种文章(包括android developer guide)描述了通过将多个图像放置在基于约定的资源文件夹中来定位不同的屏幕尺寸。
虽然系统会根据 当前屏幕配置,您可能需要进行调整 不同屏幕尺寸上的 UI 并提供位图可绘制对象 针对不同的密度进行了优化。
但是,这意味着不一定总是需要包含针对不同屏幕尺寸的多个图像。
如果我为大屏幕添加了足够大小的单个图像,那么系统应该将其缩小以适应较小的屏幕,而不会出现任何像素化或损失,对吧?我原以为这种方法还可以减少应用程序的整体负载,因为捆绑到应用程序中的图形文件更少。
我明白,在某些情况下,应用设计师可能希望根据屏幕尺寸定制单独的图形,但对于一般情况,单文件方法是更合适的策略吗? 不提供特定密度的图形有什么缺点?
【问题讨论】:
-
您永远不能保证不会出现像素化或丢失。此外,如果您有大量图像,则使用这种方法可能会在低端设备上遇到内存问题。它是处理事物的一种方式,但它并不是适用于所有应用的完美方式。
-
我通常使用高 dpi 图像进行开发,直到我确定应用程序的“外观”没问题,然后通过自动 batch converter 运行图像以获得较低的密度,然后手动修复任何在较低分辨率设备上看起来不好的东西。这似乎是最懒惰的方法,在对旧/低内存设备友好的同时仍能产生良好的结果。除了 9 补丁之外,这可能是完全不同的球赛,因为您可能希望每个设备有不同的绘制/拉伸。
-
@GabeSechan 承认我没有考虑 RAM 限制,也许我过于关注应用程序大小
-
@RedTaz 是的;您必须记住,要将图像缩小到手机中,可能必须在重新采样之前将整个图像解压缩到完整大小的内存中 - 这可能比“磁盘上 PNG 的压缩大小”大得多“...
标签: android image screen-size