有没有办法以某种方式编辑图像,例如在缓存图像之前为图像添加水印?因此,每次 View(在我的例子中是 GridView)刷新自身时,不会在适配器的 instantiateItem 方法中一次又一次地添加水印,这会增加整个过程的延迟。
可选阅读: 我正在整理使用我的相机应用程序拍摄的照片(就像拼图游戏一样)。它们存储在 SD 卡上,但由于加扰,用户无法使用图库中的图片,他被迫使用我的应用程序,该应用程序会在运行时解扰图像并向用户显示正确的图像。这个过程让我可以为我的应用程序提供免费试用模型,如果用户为应用程序付费,这些图片可以在外面使用。
问题是,除画廊的 GridView 外,一切正常。每次使用长按(用于编辑等)选择图像时,会发生什么情况,gridview 会自行刷新,所有图像都会重新加载,因此会再次解密,这会增加加载的额外延迟,并且整体用户体验会恶化。有什么办法可以在缓存图像之前解密图像,以免发生这种情况?
最佳答案
首先,您应该创建自己的 BitmapProcessor
实现。
如果您想在保存到磁盘缓存之前处理图像,请使用 ImageLoaderConfiguration..discCacheExtraOptions(..., processor)
。
在保存到磁盘之前,将对每个图像执行处理。
如果您想在保存到内存缓存之前处理图像,请使用 DisplayImageOptions.preProcessor(processor)
。
将对使用此处理器获得选项的任务执行处理。
关于android - 在通用图像加载器中缓存之前编辑图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20248004/