我正在使用服務來執行長時間運行的過程。我將活動中的服務綁定到啓動過程。以下是綁定該服務的代碼。混淆服務綁定和解綁Android
val intent = Intent(context,SaveSessionService::class.java)
context.bindService(intent, mSaveSessServiceConnection, AppCompatActivity.BIND_AUTO_CREATE)
服務在後臺完成後,我試圖停止服務。我正在使用stopService()。但是我正在看到活動泄漏服務連接錯誤。在對SO問題進行一些閱讀之後,知道當服務綁定到BIND_AUTO_CREATE時,我們無法使用stopService停止服務。
我的問題是我該如何連接服務,因爲我也讀過長期運行服務調用startService也不可取。使用IntentService會更好嗎(我不這麼認爲,因爲按照文檔只有Service應該用於長時間運行的任務)?
我不能參考活動,一旦我轉到服務。我應該能夠停止服務本身的服務。
那麼在這個用例中,哪一個更好,使用startService啓動服務還是使用IntentService?