【发布时间】:2016-11-18 16:59:54
【问题描述】:
当我尝试以非常慢的连接 (GPRS) 从磁盘下载图像时,它很长(大约 10 分钟),并且在从磁盘获取图像之前出现 Socket 异常。
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.squareup.okhttp:okhttp:2.4.0'
OkHttpClient client = new OkHttpClient();
client.setCache(new Cache(context.getApplicationContext().getCacheDir(), Integer.MAX_VALUE));
client.setConnectTimeout(5, TimeUnit.SECONDS); // connect timeout
client.setReadTimeout(15, TimeUnit.SECONDS); // socket timeout
Picasso.Builder builder = new Picasso.Builder(this);
builder.downloader(new OkHttpDownloader(client));
Picasso built = builder.build();
built.setIndicatorsEnabled(BuildConfig.DEBUG);
built.setLoggingEnabled(BuildConfig.DEBUG);
Picasso.setSingletonInstance(built);
提前致谢
PS: 对不起我的英语不好
【问题讨论】:
-
您从中下载图像的服务器正在重置连接。 Picasso 必须下载一次图像,然后它将缓存到磁盘缓存中。由于连接速度慢,第一次尝试本身被拒绝。
-
尝试将连接超时值增加到 15 分钟
-
@Kushan 谢谢你的回答,但我已经第一次下载了图像。当我尝试从磁盘获取图像(已经下载)时,第二次出现此错误。