【问题标题】:Load a very large Image in android在android中加载一个非常大的图像
【发布时间】:2016-04-23 03:06:28
【问题描述】:

假设我有一张图片,它是非常大的图片或其他内容集,您一次只能查看一小部分内容,因为您可以开始查看您的内容,而无需一次将其全部加载到内存中。

在 iOs 中,我们可以使用 CATiledLayer 重复绘制图块以填充视图的背景

在Android中我可以看到谷歌地图,当你滚动时它也会加载地图的每个部分,但我不明白它们的解决方案是什么。

我想知道在 Android 或其他加载非常大的图像时相同的 CATiledLayer 的解决方案是什么

【问题讨论】:

    标签: android ios image large-data


    【解决方案1】:

    您实际上可以根据图像视图的大小缩小位图。

    不要给 wrap_content 的宽度和高度尝试给出相对的宽度和高度。 使用

    ImageView.getheight()
    ImageView.getWidth()
    

    根据它获取大小和负载 看到这个链接 http://developer.android.com/training/displaying-bitmaps/load-bitmap.html#read-bitmap

    【讨论】:

    • 这意味着当我加载图片的其他部分或缩放它时,我仍然将原始图像保留在内存中并重新缩小?
    • 不,您将根据您指定的大小加载图像。原始图像将在永久存储中。
    • 如果我缩放或滚动图像并且需要最佳分辨率会怎样?
    • 谢谢,我认为这可能是一个解决方案,我会检查它并在有结果后反馈
    【解决方案2】:

    您可以使用库有效地加载图像并管理缓存它们而不是再次下载它们。我建议PicassoGlide。这个tutorial 比较了它们并解释了一些功能。
    我希望它有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多