當我試圖從連接速度很慢的連接(GPRS)的磁盤上下載鏡像時,鏡像很長(大約10分鐘),在從DISK獲取鏡像之前,我得到了Socket異常。Picasso SocketException
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:對不起我的英文不好
從您要下載映像的服務器重置連接。畢加索必須下載一次圖像,然後它將緩存到磁盤緩存中。由於連接速度慢,第一次嘗試本身會被拒絕。 – Kushan
嘗試增加連接超時值,說15分鐘 – Kushan
@Kushan感謝您的答案,但我已經下載圖像的第一次。當我嘗試從磁盤獲取映像(已下載)時,此錯誤再次出現。 – Louis