【问题标题】:How to use high resolution images in a way that application don't lag?如何以应用程序不滞后的方式使用高分辨率图像?
【发布时间】:2016-02-16 16:24:13
【问题描述】:

高/中分辨率照片从可绘制对象加载需要时间并影响应用程序性能,而低分辨率照片看起来很模糊;我想使用高分辨率图像,但又不影响性能,该怎么做?

我正在尝试从可绘制的布局登录中设置高分辨率背景图像,因此在同一活动的组件之间切换时会发生滞后。

例如:在字段电子邮件和密码之间切换,键盘以慢动作出现/消失。

【问题讨论】:

  • 你可以使用像 picasso 这样的库来异步加载图片
  • 这是一个非常广泛的问题。您可能希望将其缩小到更具体的场景。
  • 很多策略:确保异步加载(这是以下大多数建议的默认设置),先加载低分辨率,然后再加载更高的分辨率,如果这是一个缩放应用程序,加载低分辨率并开始首先缩小并开始在后台加载高分辨率。尝试不同的图像压缩/解压缩技术。如果您关心运行时性能,请寻找基于 GPU 的渲染解决方案。
  • @CommonsWare 我已经添加了场景。

标签: android photos


【解决方案1】:

如果我是你,我会使用 Glide 库。它比Picasso 更快,是您想要加载大图像时的理想选择。 来自 github 文档:

Glide 的主要重点是让滚动任何类型的图像列表尽可能流畅和快速,但 Glide 也适用于几乎所有需要获取、调整大小和显示远程图像的情况

【讨论】:

    【解决方案2】:

    是的,使用 Piccaso。它将根据您的设备和图像视图的大小调整并加载正确的图像大小。

    【讨论】:

      【解决方案3】:

      很难知道您需要什么,但您可以使用 FrameLayout 在后台下载多张图片,并使用 android:visibility 属性将它们设置为不可见。此解决方案适用于一个活动。异步工作和缓存可以是答案。 无论如何,您应该考虑调整您的图片大小,用户更喜欢看到图片而不是等待并退出,他们知道他们设备的局限性(android 也是如此;-)。

      【讨论】:

        猜你喜欢
        • 2010-10-19
        • 1970-01-01
        • 1970-01-01
        • 2016-05-20
        • 1970-01-01
        • 2014-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多