2016-05-02 28 views
1

私はAndroid Life Cycleに関する質問があります。 私はForeground Service(ステータスバーの通知)のアプリで働いています。サービスを開始した後、私は携帯電話にApplication Managerが表示され、アプリは "強制停止"ボタンを有効にしています。それから私は、コードAndroidで実際に「強制停止」とは何ですか?

stopService(new Intent(getApplicationContext(), ShakeService.class)); 

てサービスを停止し、私はサービスが(通知もなくなって)停止した後も、「強制停止」ボタンが有効になっていることがわかりました。アプリ内にNo-other serviceまたはAsyncTaskまたはHandlerがあることを確認してください。 アイデアはありますか?正確に "強制停止"とは何ですか?&サービスを完全に停止する方法(強制停止ボタンは無効のままです)?? ありがとう

+1

あなたはおそらく、このリンクであなたの答えを得ることができます。http://android.stackexchange.com/questions/33801/what-does-the-force-stop-button-mean –

+1

一般的な方法あなたの答えはこれを試してみてください... http://forums.androidcentral.com/htc-one-m8/471413-force-stop.html –

+1

私はこれがあなたが知る必要があると思う、このリンクを参照してください:http:// www.brighthub.com/mobile/google-android/articles/97257.aspx –

答えて

0

Androidシステムは、メモリが不足している場合にのみサービスを強制停止し、ユーザーのフォーカスがあるアクティビティのシステムリソースを回復する必要があります。

  • サービスは、ユーザーフォーカスを持って活動にバインドされている場合、それは殺されにくく だ、

  • サービスがフォアグラウンドで実行するように宣言されているならば、それはほとんどないだろう殺された

  • サービスが開始され、長時間実行されている場合、システムでは、バックグラウンドタスクのリスト内で時間の経過とともにその位置が低くなります。

    more details refer Here

手動で強制停止を行う場合は、そのアプリケーションでその殺したすべてのサービスを意味します。

+0

コード(stopService())でサービスを停止すると、「アプリケーションマネージャ」に表示されるはずです。つまり、リソースが解放されたため、「強制停止」ボタンを無効にする必要があります。私が間違っている?? –

+0

はい、サービスが停止している場合は、ボタンが無効になっています。アプリ内でサービスが実行されていないためです。サービス開始時にボタンが有効になりました。 – sasikumar

+0

私はそれを得た。しかし、私の質問は変わりません。 stopService()を使用してサービスを停止し、アプリケーションマネージャを表示すると、強制停止ボタンが有効になります(ユーザーが押しても停止できることを意味します)。 「強制停止」ボタンを無効にする必要があります。 –

0

ユーザーが終了したアプリケーションには、デバイスイベントに登録されたサービスとリスナーが存在する場合があります。これらは、ユーザーがアプリを終了してもアプリケーションが受け取ったイベントに従って動作します。

たとえば、ユーザーがアプリケーションを終了してもGCMは引き続き動作します。 Force Stopは、ユーザーが手動でクリックされたかのように

は、その後、どちらも任意の Services/ Listeners/ Background操作は、その特定のアプリケーションに対して実行されていないことになるところ。

Clear Cacheまたはユーザーがクリックした場合、これはSqLiteまたはRealmなどのデータベースよりも、一時的な目的のために、アプリケーションによって保存されたデータをオフにクリアされます。例えば、データが格納されているSharedPreference

関連する問題