使用universal-image-loader时报异常java.io.IOException: Mark has been invalidated.

在使用universal-image-loader加载图片的时候,在BaseImageDecoder.defineImageSizeAndRotation->imageStream.reset()执行的时候报如下异常:

01-25 18:35:19.777: W/System.err(4784):     at java.io.IOException: Mark has been invalidated.
01-25 18:35:19.777: W/System.err(4784): java.io.BufferedInputStream.reset(BufferedInputStream.java:350)
01-25 18:35:19.777: W/System.err(4784):     at com.jstv.lxtv.AsyncImageLoader.loadImageFromUrl(AsyncImageLoader.java:199)
01-25 18:35:19.777: W/System.err(4784):     at com.jstv.lxtv.AsyncImageLoader$2.run(AsyncImageLoader.java:88)
01-25 18:35:19.777: W/System.err(4784):     at java.io.BufferedInputStream.reset(BufferedInputStream.java:350)
01-25 18:35:19.777: W/System.err(4784):     at com.jstv.lxtv.AsyncImageLoader.loadImageFromUrl(AsyncImageLoader.java:199)
01-25 18:35:19.777: W/System.err(4784):     at com.jstv.lxtv.AsyncImageLoader$2.run(AsyncImageLoader.java:88)

解决办法:

在BaseImageDecoder.defineImageSizeAndRotation 方法下的imageStream被decodeStream之前调用imageStream.mark(1024*1024)


不过,后来使用universal-image-loader-1.9.2版本,就没有这个问题了,从源码发现imageStream没有再调用reset的方法了,在reset之前一定要调用mark();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值