glide加载不出大图并报错 java.net.SocketTimeoutException
来源:互联网 发布:云计算岗位多吗 编辑:程序博客网 时间:2024/06/06 01:27
在使用Glide加载图片时出现加载不出来的的问题,通过使用以下方法可以打印出错误信息:
Glide.with(context).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE)
.placeholder(R.mipmap.default_logo2)
.error(R.mipmap.default_logo2)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
e.printStackTrace();
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
})
.into(img);
打印出来的的错误信息是:java.net.SocketTimeoutException,尼玛这不是网络访问超时吗?原来Glide使用的网络加载方式不是OK HTTP,但是支持修改,通过添加依赖进行修改:
compile 'com.github.bumptech.glide:okhttp3-integration:1.5.0@aar'
这个版本具体是什么需要与你使用的OkHttp版本相符合,具体可以去该网址进行查询: https://github.com/bumptech/glide/wiki/Integration-Libraries
然后需要在AndroidManifest里面加入如下代码:
<meta-data
android:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule"
android:value="GlideModule" />
经过上述一通操作后Glide成功的把图片的Bitmap加载出来了,但是你可能还会遇到下面的问题,比如你们的后台或者运营人员放上了一个大图(这里指超过4096x4096的图片,虽然这是不合理的,但是人家就是这么做了而且IOS可以正常加载出来,shit),此时可能会出现下面的错误信息:Bitmap too large to be uploaded into a texture
原因是Android4.0以上默认开启硬件加速,但是GPU对openGLRender(从别处看到的,大概就是视图渲染之类的)有限制(不能超过4096x4096),我在这地方使用了最偷懒的方法,关闭了加载大图的Activity的硬件加速(因为运营上传的图片巨长大约有1100x10000),之后就顺利加载出了超长大图
- glide加载不出大图并报错 java.net.SocketTimeoutException
- Glide 加载不出图片
- glide 加载大图
- java.net.SocketTimeoutException翻译
- java.net.SocketTimeoutException
- java.net.SocketTimeoutException
- weblogic 服务不响应java.net.SocketTimeoutException: Read timed out
- 报表使用hive数据源报java.net.SocketTimeoutException: Read timed out
- Glide加载圆形图片报错:java.lang.AbstractMethodError: abstract method "void com.bumptech.glide.load.Key.updat
- java.net.SocketTimeoutException: Read timed out 问题解决
- java.net.SocketTimeoutException: Read timed out
- java.net.sockettimeoutexception read timed out 异常
- java.net.SocketTimeoutException: Read timed out
- java.net.SocketTimeoutException: Read timed out
- java.net.SocketTimeoutException: Connection timed out
- java.net.SocketTimeoutException: Connection timed out
- java.net.SocketTimeoutException: Read timed out
- HttpClient java.net.SocketTimeoutException: Read timed out!
- [Office] 设置段落标题边框
- spring Security4 和 oauth2整合 注解+xml混合使用(验证码等额外数据验证)
- Hive 2.1源码解析及工业级优化
- hash类型操作
- 向openssl源码添加SHA-512/224 and SHA-512/256算法
- glide加载不出大图并报错 java.net.SocketTimeoutException
- Java重载,覆盖,多态
- 调用地区天气预报代码
- 安卓webview上传照片的实现,2017最新总结
- Spring AOP监控SQL执行
- 【LeetCode】330. Patching Array
- 3句代码,搞定动态添加行
- Paxos算法学习问题汇总
- 1055. 集体照 (25)