8

私は複数の活動と1つのサービスを持っています。(+ +MainActivityを実装するクラスを使用して)サービスに正常に接続しましたが、他のアクティビティで同じメソッドを適用しようとすると、LogCatにエラーが表示されます。 ServiceConnectionbindService()startService()

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.

他の方法でサービスに接続することは可能ですか?オブジェクトを静的にして、2番目のCounterServiceConnectionオブジェクトでMainActivity使用するようなものですか?

4

2 に答える 2

15

エラーメッセージはかなり自明です:あなたはリークしてServiceConnectionいます。これにより、Androidはあなたが呼び出しているが呼び出しbindService()ていないことを意味し、呼び出しunbindService()たアクティビティbindService()は破棄されました。早くない場合は、必ず電話unbindService()してください。onDestroy()

MainActivityでCounterServiceConnectionオブジェクトを静的にして、2番目のオブジェクトで使用するようなものですか?

いいえ。

于 2010-01-15T22:21:43.827 に答える
0

そのスレッドにルーパーをインストールする限り、別のスレッドからバインドできます

于 2010-01-15T21:16:39.710 に答える