我正在为我的Android应用程序编写服务,我正在尝试了解绑定机制的工作原理.如果我在活动的onCreate中绑定我的服务但是我没有在onStop或onDestroy中取消绑定,我收到错误:
android.app.ServiceConnectionLeaked: Service com.google.ipc.invalidation.ticl.android.AndroidInvalidationService has leaked ServiceConnection com.googl
e.ipc.invalidation.external.client.android.service.ServiceBinder$1@4177f8f8 that was originally bound here
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:泄漏连接究竟是什么问题,我通过解除服务绑定来阻止什么?
Sam*_*Sam 46
通常,您的应用是唯一可以访问您的服务(或使用它)的应用.如果在此服务仍然运行的情况下销毁您的应用程序,则该服务不再具有目的.它将存在于内存消耗资源中,但什么都不做.通过在完成后解除绑定或停止服务,您可以返回这些资源,以便其他应用程序可以使用这些资源.
想象一个孩子将玩具散布在一个房间然后离开.房子里的其他人(父母,兄弟姐妹和客人)对他们没用,必须四处走动.玩具简直就是这样.如果孩子把它们拿走,那么任何人都可以随意使用房间.
希望有所帮助!
Moh*_*san 40
当Android操作系统销毁Activity并发现A ServiceConnection仍然绑定到正在运行时会发生这种情况Service,因此您需要Activity在销毁之前使用该服务Activity
| 归档时间: |
|
| 查看次数: |
29118 次 |
| 最近记录: |