1

たとえば、 App Aから App Bに切り替えると、App Aは「キャッシュされたバックグラウンド プロセス」になると思いました。これはアプリAの使用メモリを「ディスク(SDカード)」にコピーしたということでしょうか?Aが占有しているメモリは、他のアプリで使用できますか?

さらに、元に戻したときにアプリAを復元する方法を教えてください。回復が遅れる場合、その原因は何ですか?

4

1 に答える 1

1

アプリ A は、Android がそこにある限り、メモリに残ります。このトランジションを通じてアプリの機能を指示したい場合は、OnPause() と OnResume() をオーバーライドする必要があります。例えば。

    @Override
    protected void onPause(){
    // YOUR CODE HERE
    super.onPause();
    }

    @Override
    protected void onResume(){
    // YOUR CODE HERE
    super.onResume();
    }

ホームボタンを押したとき、電話がかかってきたときなどにオンポーズがスローされます。これにより、スレッドを停止し (アプリに動作を停止するように指示し)、フォーカスが失われる前に必要なことを行うことができます。データを保存するには時間がかかりすぎて、ユーザーはアプリがすぐに消えてしまうことを期待するため、データを保存するのに最適な時期ではありません。

アプリを再度開くと、OnResume がスローされます。ここでスレッドを再開します (アプリに動作を開始するように指示します)。

于 2013-01-09T13:53:44.527 に答える