【问题标题】:RenderScript blur breaks bitmap loaded by GlideRenderScript blur 会破坏 Glide 加载的位图
【发布时间】:2017-02-08 00:59:37
【问题描述】:

所以,问题是我正在使用 Glide 获取一些图像。我将它们直接提取到位图中,然后使用 RenderScript 模糊该位图,然后在 UI 上显示模糊的一个。

UI 本身具有“所有图像”活动和“单个图像”活动。用户在第一个活动上点击图片,第二个活动显示模糊版本,因此可以来回打开和关闭同一张图片。

问题是这会导致图像损坏,除非您清除所有应用数据,否则无法修复它。

这个问题甚至在应用重新安装后仍然存在(使用 Android Studio)。因此,如果我打开图像并按原样显示,而不是对代码进行一些更改,然后再次安装应用程序,图像会在之后立即显示损坏 安装,除非我清除数据。

只有在使用 glide 加载位图时才会发生这种情况。如果我得到一些可绘制资源作为位图,一切正常。

更新: 这是这里使用的代码;

Bitmap logo = Glide.with(context)
                        .load(url)
                        .asBitmap()
                        .into(80, 80)
                        .get();
return BlurBuilder.blur(context, logo);

而 BlurBuilder 是从这里复制的类:Create blurry transparent background effect

【问题讨论】:

  • 几个问题: 1. 您是否在Android Studio 上使用Instant-Run 功能? 2.能否贴出sn-ps模糊图片的代码,我的意思是你的代码是如何处理模糊图片的。
  • 我已经更新了我的问题,在那里你可以找到问题 2 的答案。至于问题 1 - 不,不使用即时运行。

标签: android bitmap blur renderscript android-glide


【解决方案1】:

遇到了同样的问题。通过将 Glide 解码格式设置为 ARGB_8888 来解决它 https://github.com/bumptech/glide/wiki/Configuration#bitmap-format

【讨论】:

  • 已经通过调整缓存选项使其工作,但如果这使它在不更改缓存的情况下工作,那就太好了。这些天会检查一下,然后返回结果。
猜你喜欢
  • 2017-10-18
  • 2021-05-30
  • 1970-01-01
  • 2017-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多