从web加载图像时,支持多个android设备的最佳方式是什么?

从web加载图像时,支持多个android设备的最佳方式是什么?,android,Android,我读过很多关于在android上构建支持多种屏幕分辨率的UI的文章。我理解sp和dp的概念 假设我正在开发一个新闻阅读器应用程序。我有一份文章清单。该列表包含小图像和标题。一旦触摸到某个项目,就会看到更大版本的图像和全文。图像将从web加载。我应该提供最大可用分辨率的图像,并依靠android在显示时对其进行缩放,还是应该在运行时将屏幕密度转换为像素,并下载适当大小的图像?对于那些使用填充高度和宽度的web视图的用户 在清单中,只需输入以下代码: <supports-sc

我读过很多关于在android上构建支持多种屏幕分辨率的UI的文章。我理解sp和dp的概念


假设我正在开发一个新闻阅读器应用程序。我有一份文章清单。该列表包含小图像和标题。一旦触摸到某个项目,就会看到更大版本的图像和全文。图像将从web加载。我应该提供最大可用分辨率的图像,并依靠android在显示时对其进行缩放,还是应该在运行时将屏幕密度转换为像素,并下载适当大小的图像?

对于那些使用填充高度和宽度的web视图的用户

在清单中,只需输入以下代码:

         <supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:resizeable="true"
    android:anyDensity="true" /> 

您可以从下面的链接获取参考


您的答案取决于您认为对用户产生的积极或消极影响。这意味着你必须暂时跳出自己的框框

图像是最昂贵的网络资源之一,因此首先要考虑图像的大小?接下来,你需要知道使用你的应用程序的平均屏幕有多大。(通常,它将基于您的设计)

您的下载大小为
image\u width X image\u height X 4字节(即压缩失败)。例如,如果您的全屏图像是1024 X 768,并且您有10张,那么结果太大,在3G网络上是不可取的,而在WiFi或4G上是不可取的。在这种情况下,要求合适的尺寸可能是最好的


如果您的图像甚至不占屏幕的1/2,并且一次只加载一个,那么最好在运行时下载并调整其大小

这是Android开发者网站的摘录

默认情况下,Android会缩放位图可绘制文件(.png、.jpg和.gif) 文件)和九个补丁可绘制文件(.9.png文件),以便在 每个设备上适当的物理大小例如,如果您的 应用程序仅为基准、中等和中等 屏幕密度(mdpi),然后系统在 高密度屏幕,并在低密度屏幕上缩小尺寸 屏幕。

如果没有匹配的资源可用,系统将使用默认值 资源,并根据需要将其向上或向下扩展以匹配当前 屏幕大小和密度

所以,如果我是你,我就不会担心,因为Android承诺会缩小你的图像


一个最好的方法是在多个屏幕大小上测试你的应用程序,如果你发现它在某些屏幕大小上不兼容,那么就不要将该屏幕大小包含在你的清单中,如答案所示。

答案甚至与软件包的请求无关。他想知道什么方法最适合缩放,什么方法对他和他的用户的负面影响最小。@FuzzicalLogic你在说什么。我认为你没有正确地阅读这个问题。他想要运行所有屏幕分辨率的应用程序。你采取的是什么方法?重要的是解决方案而不是方法。如果你愿意,你可以试试上面的评论。顺便说一句,如果有什么解决办法,也告诉他和我。如果你不知道解决方案,那么如果有人给出,至少要尊重这个解决方案。您只需尝试上面的方法,然后告诉我它是否有效。不,他要求使用适当的方法a)在运行时调整大小,或b)在服务器上调整大小。他已经熟悉(并且这么说)支持多个屏幕。此外,他没有要求提供工具。他只是想知道a)或b)@FuzzicalLogic我希望你的解决方案能帮助他。非常感谢。@Mayur我的批评并不是不尊重你,只是为了教育你正确地解释提问者的需求。很明显,你有能力提供一个令人惊讶的答案,甚至可以为我自己的答案添加新的内容。你应该继续这样做。只需编辑您的答案以反映用户的需要,我将删除我的否决票。您完全正确,镜像。安卓确实会调整图像大小,然而,许多开发者已经了解到,如果你用它来忽略网络、内存或性能影响,你的应用程序将定期强制关闭。换句话说,他的担心是正确的(特别是对于远程图像),如果我错了,请纠正我,但Android开发站点的这一部分(特别是sdpi、mdpi、ldpi)不是指编译时已经包含在项目中的绘图功能吗?@package:是的,你是对的,但这样想,如果Android系统能够在运行时选择合适的图像并调整其大小,我找不到它不能处理您下载的图像的原因。@MirroredAbstration:您是说我应该强制应用程序用户下载每个图像的4个版本,而不是1个版本?虽然这是一个很好的编译时绘图概念,但我认为它不适合讨论从web下载的图像。@package&&Fuzzical Logic:这是他的实际问题“我应该提供可用的最大分辨率图像,并依靠android在显示时对其进行缩放,还是应该在运行时将屏幕密度转换为像素并下载适当大小的图像?“,所以我已经回答了我的问题,但是如果你仍然觉得应该调整它的大小,那么有很多方法,看看有没有一种方法可以缩小你的图像。