たとえば、 App Aから App Bに切り替えると、App Aは「キャッシュされたバックグラウンド プロセス」になると思いました。これはアプリAの使用メモリを「ディスク(SDカード)」にコピーしたということでしょうか?Aが占有しているメモリは、他のアプリで使用できますか?
さらに、元に戻したときにアプリAを復元する方法を教えてください。回復が遅れる場合、その原因は何ですか?
たとえば、 App Aから App Bに切り替えると、App Aは「キャッシュされたバックグラウンド プロセス」になると思いました。これはアプリAの使用メモリを「ディスク(SDカード)」にコピーしたということでしょうか?Aが占有しているメモリは、他のアプリで使用できますか?
さらに、元に戻したときにアプリAを復元する方法を教えてください。回復が遅れる場合、その原因は何ですか?
アプリ A は、Android がそこにある限り、メモリに残ります。このトランジションを通じてアプリの機能を指示したい場合は、OnPause() と OnResume() をオーバーライドする必要があります。例えば。
@Override
protected void onPause(){
// YOUR CODE HERE
super.onPause();
}
@Override
protected void onResume(){
// YOUR CODE HERE
super.onResume();
}
ホームボタンを押したとき、電話がかかってきたときなどにオンポーズがスローされます。これにより、スレッドを停止し (アプリに動作を停止するように指示し)、フォーカスが失われる前に必要なことを行うことができます。データを保存するには時間がかかりすぎて、ユーザーはアプリがすぐに消えてしまうことを期待するため、データを保存するのに最適な時期ではありません。
アプリを再度開くと、OnResume がスローされます。ここでスレッドを再開します (アプリに動作を開始するように指示します)。