【问题标题】:Android: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaksAndroid:在附加的堆栈跟踪中获取了资源,但从未释放。有关避免资源泄漏的信息,请参阅 java.io.Closeable
【发布时间】:2015-10-12 16:20:26
【问题描述】:

当我运行我的 Android 应用程序时,我收到以下错误:

10-12 16:46:44.719 2710-2719/? E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
10-12 16:46:44.719 2710-2719/? E/StrictMode: java.lang.Throwable: Explicit termination method 'end' not called
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at dalvik.system.CloseGuard.open(CloseGuard.java:184)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at java.util.zip.Inflater.<init>(Inflater.java:82)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.android.okio.GzipSource.<init>(GzipSource.java:57)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.android.okhttp.internal.http.HttpEngine.initContentStream(HttpEngine.java:490)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:680)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:388)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:332)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:500)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.http.GoogleHttpClient.a(SourceFile:806)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.http.GoogleHttpClient.b(SourceFile:770)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.http.GoogleHttpClient.execute(SourceFile:673)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.http.GoogleHttpClient.execute(SourceFile:664)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.playlog.uploader.b.a(SourceFile:332)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.playlog.uploader.b.a(SourceFile:227)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.playlog.uploader.b.a(SourceFile:199)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.playlog.uploader.UploaderService.a(SourceFile:39)
10-12 16:46:44.719 2710-2719/? E/StrictMode:     at com.google.android.gms.gcm.af.run(SourceFile:130)

此错误是什么意思,我该如何解决?

【问题讨论】:

标签: java android android-studio


【解决方案1】:

你能分享你的代码吗?您是否使用模拟器来运行您的应用程序或物理设备?

因为可能有很多原因:

  1. 您打开了某些东西,但从未关闭它们。 Closable 有一个close() 方法,当您不再需要它时(例如在finally 块中),您必须调用该方法来手动释放与组件关联的已打开资源。

  2. 另外,当AndroidManifest.xml 出现问题时,会显示该错误消息。比如&lt;activity&gt;标签不小心跳出&lt;application&gt;

  3. 模拟器默认开启StrictMode,在真实设备上可以通过代码开启:

代码:

StrictMode.setVmPolicy (new StrictMode.VmPolicy.Builder().detectAll().penaltyLog()
                                          .penaltyDeath().build());

【讨论】:

    猜你喜欢
    • 2014-10-22
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多