android - 在通用图像加载器中缓存之前编辑图像

标签 android caching gridview editing universal-image-loader

有没有办法以某种方式编辑图像,例如在缓存图像之前为图像添加水印?因此,每次 View(在我的例子中是 GridView)刷新自身时,不会在适配器的 instantiateItem 方法中一次又一次地添加水印,这会增加整个过程的延迟。

可选阅读: 我正在整理使用我的相机应用程序拍摄的照片(就像拼图游戏一样)。它们存储在 SD 卡上,但由于加扰,用户无法使用图库中的图片,他被迫使用我的应用程序,该应用程序会在运行时解扰图像并向用户显示正确的图像。这个过程让我可以为我的应用程序提供免费试用模型,如果用户为应用程序付费,这些图片可以在外面使用。

问题是,除画廊的 GridView 外,一切正常。每次使用长按(用于编辑等)选择图像时,会发生什么情况,gridview 会自行刷新,所有图像都会重新加载,因此会再次解密,这会增加加载的额外延迟,并且整体用户体验会恶化。有什么办法可以在缓存图像之前解密图像,以免发生这种情况?

最佳答案

首先,您应该创建自己的 BitmapProcessor 实现。

如果您想在保存到磁盘缓存之前处理图像,请使用 ImageLoaderConfiguration..discCacheExtraOptions(..., processor)。 在保存到磁盘之前,将对每个图像执行处理。

如果您想在保存到内存缓存之前处理图像,请使用 DisplayImageOptions.preProcessor(processor)。 将对使用此处理器获得选项的任务执行处理。

关于android - 在通用图像加载器中缓存之前编辑图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20248004/

相关文章:

android - 如何在我的自定义布局上使用以 XML 声明的值?

android - 如何使用 Google Cast SDK 3 添加自定义 SessionProvider

linux - 保存文件并将其修改时间修改为过去在缓存中安全吗?

caching - 我们如何在 Java 中检测到 redis 故障?

android - 这是解析json的正确方法吗?

android - 使用 getSupportActionBar().setDisplayHomeAsUpEnabled(true) 时看到错误

php - Symfony - 缓存中的重复类定义

asp.net - 如何强制 asp.net GridView 控件将第一行包装在 <thead> </thead> 标记中

c# - 从 GridView 中删除行

Android WIFI_STATE_CHANGE 和 STATE_CHANGE 多次触发