在Android中使用OkHttp简单加载一个图片,运行时出现了这样的异常:unable to resolve instanceof 2534 (Lokhttp3/internal/http/RetryableSink;) in Lokhttp3/internal/http/StreamAllocation;
然后直接停止运行,请问有没有碰到类似的问题?要怎么解决?感谢!具体代码如下:
public class MainActivity extends AppCompatActivity {
OkHttpClient mOkHttpClient;
private final String imageUrl="
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mOkHttpClient = new OkHttpClient();
Request mRequest=new Request.Builder().url(imageUrl).build();
mImageView=(ImageView) findViewById(R.id.imgView);
Call mCall=mOkHttpClient.newCall(mRequest);
//请求加入队列
mCall.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//此处处理请求失败的逻辑
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//Response代表OkHttp从服务器取得的响应数据包
if (response.isSuccessful())
//response.body()是图片的字节数据
bytes=response.body().bytes();
//response.body().close();//可选
final Bitmap bitmap= BitmapFactory.decodeByteArray(bytes,0,bytes.length);
//回调是运行在非Andorid UI主线程
//数据请求成功后,切换到Andorid UI主线程中更新
runOnUiThread(new Runnable() {
@Override
public void run() {
//网络图片请求成功,更新到主线程的ImageView
mImageView.setImageBitmap(bitmap);
}
});
}