0
我在MainActivity中使用startService運行了自定義綁定服務,然後綁定到它。我在其他活動中也這樣做。但是,每當我退出該活動(並且該服務按照它的意圖繼續運行),或者甚至完全關閉該應用程序時,我會在這些方面發生錯誤。儘管在onDestroy或onPause中解除綁定,但「Activity <activityname>泄露了ServiceConnection」
09-19 01:58:11.660 20750-20750/***.rs E/ActivityThread: Activity ***.rs.OpenArticle has leaked ServiceConnection ***[email protected] that was originally bound here
android.app.ServiceConnectionLeaked: Activity *** has leaked ServiceConnection ***[email protected] that was originally bound here
at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1092)
at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:986)
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1303)
at android.app.ContextImpl.bindService(ContextImpl.java:1286)
at
...
我解除綁定服務中的onDestroy這兩種情況下,我也嘗試過其他的功能,如onUserLeaveHint和的onPause但既不似乎工作。
這是我的OpenArticle文件的代碼,我嘗試解除綁定我的服務。有趣的是,失敗消息從不顯示在logcat中。
@Override
protected void onUserLeaveHint() {
try {
unbindService(sConn);
} catch (RuntimeException e) {
Log.d("OpenArticle", "Service unbind not successful.");
}
super.onUserLeaveHint();
}
實際上,這並沒有真正影響到應用程序的任何功能,但它仍然好像我做錯了什麼。
在onPause()或onStop()方法的活動中執行unbindService調用 –