【问题标题】:Reducing Image Size at Runtime for Android app在运行时减少 Android 应用程序的图像大小
【发布时间】:2015-05-15 21:22:33
【问题描述】:

我正在解析一个 json 模式,其中包含我的 android 应用程序的文本信息和图像 URL。我想从架构中读取所有图像,然后在我的 Android 应用程序的图库视图中显示它们。

但问题是,图片网址包含高清图片,加载需要很长时间。有没有办法可以在运行时减小这些图像的大小然后显示,或者您可以提出任何改进提示,以便图像可以从架构中快速加载?

谢谢

【问题讨论】:

  • 因为这些是 URL,你必须先下载它们,不管你喜不喜欢。一旦你在本地获得它,你就可以扩展它。那么你的问题是什么?
  • @MarcinOrlowski 这实际上是问题所在,我不想下载图片,因为下载它们需要太多时间。有没有办法可以从同一个网址下载图片的低分辨率版本?例如www.url1.jpg 包含一张高清图片,所以我想使用相同的 url 下载同一张图片的低分辨率版本,以便快速下载,可以吗?如果是,那怎么办?
  • 恐怕你好像不懂 IT 基础知识...
  • @MarcinOrlowski 如果您以简单的“是”或“否”而不是判断的方式回答,那将是非常好的。感谢 user3541465 的帮助:)
  • 仅供参考:您接受的答案与您的问题不符。

标签: android json image-size


【解决方案1】:

尝试使用Picasso 库,它可以根据需要调整图像大小并将其绑定到 ImageView。另见我的answer here

但如果您的服务器上的图片太大,这完全取决于您的互联网连接,以及它们到达您设备的速度。

【讨论】:

    【解决方案2】:

    您可以使用 picasso 库调整从 url 下载的图像的大小。它还允许延迟加载图像,您还可以在图像视图中设置占位符和错误图像。 你可以在这里阅读完整的文档:http://square.github.io/picasso/

    Picasso.with(context)
      .load(url)
      .resize(50, 50)// resizing images
      .centerCrop()
      .into(imageView)
    

    【讨论】:

    • 但是应该先下载图片然后才能应用,对吧?
    • 不,不需要单独下载。您只需传递我在答案中显示的 url 并给出调整图像大小的尺寸。毕加索图书馆会自动完成剩下的工作。
    • 毕加索会先下载整个大图,然后再调整大小。所以这可能有效,但它不能回答您的问题/不想下载大图像。
    • @greenapps 你是对的,但是我的问题有答案吗?喜欢先调整大小然后下载,这样就可以快速完成?
    • 没错。服务器应在开始下载之前调整它们的大小。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多