1

私のアプリケーションは正常に実行されており、新しいアクティビティに移動するときにコードを次のように使用しました

Intent start=new Intent(current activity.this,new activity.class);
                startActivityForResult(start, 0);
                finish(); 

そして、以前のアクティビティに戻らなければならないときは、次のコードを使用しました

Intent start = new Intent(current activity.this,earlier activity.class);
                    startActivity(start);
                    finishActivity(0);

そうすることで活動の積み重ねが見えてくるのではないかと思います。そして、ボタンまたは電話の戻るボタンをクリックすると、次のコードを使用しました

Intent startMain = new Intent(Intent.ACTION_MAIN);
                startMain.addCategory(Intent.CATEGORY_HOME);
                startMain.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(startMain);

しかし、私のアプリケーションはまだバックグラウンドで実行されています。また、android:noHistory="true"アプリがバックグラウンドから強制終了されたのを使用しましたが、アプリが強制的に閉じられるというメッセージが表示されました。finish();最後のアクティビティへの単純な移動。アプリケーションを終了するというリンクも見ました- それは眉をひそめていますか? しかし、私は新しいので、あまり得られませんでした。どうすればこれに対処できるかを教えてください。

4

1 に答える 1

1

そうすることで活動の積み重ねが見えてくるのではないかと思います

ご意見よろしくお願いします。startActivityForResult()あなたがそれをどのように使用しているかのために設計されていません。

そして、ボタンまたは電話の戻るボタンをクリックすると、次のコードを使用しました

これをした私のために働いた人は誰でも解雇します。

戻るボタンの適切な処理については、Android の設計ガイドラインに従ってください。そこにあるすべてに同意するわけではありませんが、あなたがしていることよりもはるかに優れています。ユーザーの目には、BACK は back を意味します

しかし、私のアプリケーションはまだバックグラウンドで実行されています

スレッドやサービスをリークしていない限り、プロセスは実行されますが、CPU 時間を大幅に消費することはありません。RAM が必要になると、Android はプロセスを終了します。このようにして、ユーザーがアプリケーションに戻ることを選択した場合、またはアプリケーション内の何かを実行する必要がある場合 (AlarmManagerイベント、ブロードキャストIntentなど)、Android は別のプロセスを fork するために CPU 時間とバッテリー寿命を浪費する必要がありません。

どうすればこれに対処できるかを教えてください。

プロセスをそのままにしておくだけで、誰も怪我をすることはありません.

于 2012-05-03T17:00:18.210 に答える