對於過去偶然遇到過類似疑問的人來說,這更多的是關於Android內部的問題。bindService,unbindService,android和非晴天場景
問題在本質上是非常簡單的:
假設我有一個綁定的服務,提供某些功能在其他進程運行的應用程序 - 我怎麼知道,如果請求的功能調用者仍然存在?
假設我有一個遠程服務,實現遠程回調,如提到here,我怎麼能確定還有一個類接收回調?如何進行清潔?綁定是否在應用程序離開/崩潰時自動關閉,它是如何在打開文件或套接字時發生的?
最後:
如果不解除綁定的遠程應用程序崩潰從我的服務,將它繼續運行,即使那是在使用該服務的最後一個應用程序?
感謝所有的提示,傢伙,欣賞它。
謝謝一束。所以我想最終的方法是時不時地讓我的聽衆「心跳」,並簡單地清理那些引起異常的人。聽起來很不錯,很像網絡。 它也很好地知道,android本身將負責刪除死鏈接。這幾乎可以消除當沒有人對它感興趣時正在運行的進程的問題。 –
無需心跳IMO。查看我在答案中的變化,找到一種方法。 –