RenderScript 模糊破坏了 Glide 加载的位图
RenderScript blur breaks bitmap loaded by Glide
所以,问题是我正在使用 Glide 获取一些图像。我将它们直接提取到位图中,然后使用 RenderScript 模糊该位图,然后在 UI 模糊的位图上显示。
UI 本身有“所有图像”activity 和“单个图像”activity。用户点击第一张图片 activity,第二张显示模糊版本,因此可以来回打开和关闭同一张图片。
问题是这会导致图像损坏,除非清除所有应用数据,否则无法修复它。
该问题甚至在重新安装应用程序后仍然存在(使用 Android Studio)。所以,如果我打开图像,它应该显示,而不是对代码进行一些更改,然后再次安装应用程序,图像会立即显示损坏
安装,除非我清除数据。
它只发生在使用滑动加载的位图上。如果我得到一些可绘制资源作为位图,一切正常。
更新:
这是这里使用的代码;
Bitmap logo = Glide.with(context)
.load(url)
.asBitmap()
.into(80, 80)
.get();
return BlurBuilder.blur(context, logo);
而 BlurBuilder 是从这里复制的 class:Create blurry transparent background effect
有同样的问题。通过将 Glide 解码格式设置为 ARGB_8888 解决了这个问题
https://github.com/bumptech/glide/wiki/Configuration#bitmap-format
所以,问题是我正在使用 Glide 获取一些图像。我将它们直接提取到位图中,然后使用 RenderScript 模糊该位图,然后在 UI 模糊的位图上显示。
UI 本身有“所有图像”activity 和“单个图像”activity。用户点击第一张图片 activity,第二张显示模糊版本,因此可以来回打开和关闭同一张图片。
问题是这会导致图像损坏,除非清除所有应用数据,否则无法修复它。
该问题甚至在重新安装应用程序后仍然存在(使用 Android Studio)。所以,如果我打开图像,它应该显示,而不是对代码进行一些更改,然后再次安装应用程序,图像会立即显示损坏 安装,除非我清除数据。
它只发生在使用滑动加载的位图上。如果我得到一些可绘制资源作为位图,一切正常。
更新: 这是这里使用的代码;
Bitmap logo = Glide.with(context)
.load(url)
.asBitmap()
.into(80, 80)
.get();
return BlurBuilder.blur(context, logo);
而 BlurBuilder 是从这里复制的 class:Create blurry transparent background effect
有同样的问题。通过将 Glide 解码格式设置为 ARGB_8888 解决了这个问题 https://github.com/bumptech/glide/wiki/Configuration#bitmap-format