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