8

我有多项活动和一项服务。在MainActivity我成功连接到服务时(使用实现ServiceConnection++的类bindService()) ,startService()但是当我尝试在其他活动中应用相同的方法时,我在 LogCat 中看到一个错误:

01-15 22:29:37.438: ERROR/ActivityThread(12206): android.app.ServiceConnectionLeaked:  
    Activity com.app.liviu.simpleMusicPlayer.PlaylistActivity has leaked ServiceConnection  
    com.app.liviu.simpleMusicPlayer.PlaylistActivity$CounterServiceConnection@43713c90  
    that was originally bound here.

是否有可能以其他方式连接到服务:例如将我的CounterServiceConnection对象设为静态MainActivity并在第二种方式中使用它?

4

2 回答 2

15

错误消息是不言自明的:您正在泄漏 a ServiceConnection,Android 意味着您正在调用bindService()但没有调用unbindService(),并且调用的活动已bindService()被破坏。确保你打电话unbindService()onDestroy()如果不是更早的话。

像在 MainActivity 中将我的 CounterServiceConnection 对象设为静态并在第二个中使用它?

不。

于 2010-01-15T22:21:43.827 回答
0

只要在该线程中安装弯针,就可以从单独的线程中绑定它

于 2010-01-15T21:16:39.710 回答