2017-05-02 7 views
0

主な活動のonCreate()には、bindService()BIND_AUTO_CREATEというフラグが付けられており、をonDestroy()に呼び出します。その後、私はアクティビティを開始し、それを終了してからやり直します。bindService()はBIND_AUTO_CREATEで常に新しいサービスインスタンスを作成しますか?

サービスのonCreate()onBind()onUnbind()が順番に呼び出されています。 アクティビティを2回目に開始すると、サービスのonCreate()onBind()も呼び出されますが、別のサービスインスタンスの、もう1つはthisです。

バインディング解除後にそのサービスが有効になり、2番目のonBind()が同じサービスにバインドされることが予想されます。私は何かを誤解していますか?

答えて

1

バインディング解除後にサービスが有効になり、2番目のonBind()が同じサービスにバインドされることが予想されます。

場合、サービスが破壊される品番:あなたは、各バインドされた接続からバインド解除、および

  • 何もでサービスのstartService()

  • を呼ばなかった

    • あなたのケースは、あなたがサービスからバインドを解除している、何もサービスを開始していないので、サービスはdestroyeですd。その次のbindService()コールは、その時点で実行インスタンスが存在しないため、新しいインスタンスを作成します。

    関連する問題