okhttp3 StrictMode Error

原创 2016年08月31日 14:25:35

okhttp3 StrictMode Error

使用okhttp3.3过程中遇到以下bug,google了一下也没找到解决办法,现放出自己的解决办法:

E/StrictMode(16877): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
E/StrictMode(16877): java.lang.Throwable: Explicit termination method 'close' not called
E/StrictMode(16877):    at dalvik.system.CloseGuard.open(CloseGuard.java:184)
E/StrictMode(16877):    at java.io.FileOutputStream.<init>(FileOutputStream.java:90)
E/StrictMode(16877):    at okio.Okio.appendingSink(Okio.java:187)
E/StrictMode(16877):    at okhttp3.internal.io.FileSystem$1.appendingSink(FileSystem.java:59)
E/StrictMode(16877):    at okhttp3.internal.DiskLruCache.newJournalWriter(DiskLruCache.java:308)
E/StrictMode(16877):    at okhttp3.internal.DiskLruCache.readJournal(DiskLruCache.java:300)
E/StrictMode(16877):    at okhttp3.internal.DiskLruCache.initialize(DiskLruCache.java:227)
E/StrictMode(16877):    at okhttp3.internal.DiskLruCache.get(DiskLruCache.java:429)
E/StrictMode(16877):    at okhttp3.Cache.get(Cache.java:193)
E/StrictMode(16877):    at okhttp3.Cache$1.get(Cache.java:143)
E/StrictMode(16877):    at okhttp3.internal.http.HttpEngine.sendRequest(HttpEngine.java:203)
E/StrictMode(16877):    at okhttp3.RealCall.getResponse(RealCall.java:243)
E/StrictMode(16877):    at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:201)
E/StrictMode(16877):    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163)
E/StrictMode(16877):    at okhttp3.RealCall.access$100(RealCall.java:30)
E/StrictMode(16877):    at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127)
E/StrictMode(16877):    at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
E/StrictMode(16877):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E/StrictMode(16877):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E/StrictMode(16877):    at java.lang.Thread.run(Thread.java:841)

我的问题就在于 cache 没有及时 close,解决办法很简单:
在 onResponse 和 onFailure 后都加上 cache.close() ,这样就解决了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android网络框架OKhttp3的demo

  • 2017-08-14 17:58
  • 324KB
  • 下载

使用OKHttp3 get请求 , post请求 , 多文件上传 , 包看包会

1 首先需要创建一个OKHttpClient  可以直接new一个   [java] view plain copy   OkHttpClien...

简单封装使用OkHttp3

  • 2017-06-30 11:36
  • 3.03MB
  • 下载

Android OKhttp3使用

首先说下OkHttp3是Java和Android都能用,Android还有一个著名网络库叫Volley,那个只有Android能用。导入自己到入jar包,别漏了okio:okhttp-3.3.0.ja...

OkHttp3 封装了网络框架

  • 2017-07-07 17:45
  • 101KB
  • 下载

RecyclerView+OkHttp3Demo

  • 2017-07-25 16:49
  • 27.93MB
  • 下载

Android平台利用OkHttp3模拟登录实现教务平台

OkHttp3模拟登录学校教务平台的流程,Cookie管理,以及遇到的几个小问题,_(:з)∠)_ 不一定试用所有教务平台但是这玩意都那么回事儿..

okhttp3简单封装使用

  • 2017-05-15 11:46
  • 5.73MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)