我的应用程序需要从本地存储加载图像,进行一些转换,然后将转换后的图像保存回本地存储。
我正在使用Fresco从存储中加载图像。一切正常,除了我无法将图像保存回本地存储。
这是我要保存的图片:
val imagePipeline = Fresco.getImagePipeline()
val dataSource = imagePipeline.fetchEncodedImage(imageRequest, context)
dataSource.subscribe(SaveBitmapSubscriber(), DefaultExecutorSupplier(1).forLocalStorageWrite())
class SaveBitmapSubscriber: BaseDataSubscriber<CloseableReference<PooledByteBuffer>>() {
override fun onFailureImpl(dataSource: DataSource<CloseableReference<PooledByteBuffer>>) {
Log.d(javaClass.simpleName, "onFailureImpl")
}
override fun onNewResultImpl(dataSource: DataSource<CloseableReference<PooledByteBuffer>>) {
Log.d(javaClass.simpleName, "onNewResultImpl")
}
}
每次都会调用 onFailureImpl
。我究竟做错了什么?这是正确的方法吗?有关该主题的文档很少。
答案 0 :(得分:0)
在onFailureImpl
中,尝试calling dataSource.getFailureCause()
并记录下来。
该异常应说明出了什么问题。