Androidプロジェクトでは2つのアクティビティがあります。 1つはMyProject
で、もう1つはMyProjectOutput
です。 MyProject
でAndroid - 戻るボタンが押されてもメモリにまだプログラムが残っています
は、ボタン(btnProcess
)があり、それはいくつかの処理を行うだろうし、次のコードを使用して第2の活動を開始します。第二の活動で
btnProcess.setEnabled(false);
// does some network access in an AsyncTask and fetches some stuff, and store some data in the variable 'my_extra_content'
//...
Intent i = new Intent(this, MyProjectOutput.class);
i.putExtra("extracontent", my_extra_content);
startActivityForResult(i,1);
を、それがに戻るためのボタンがありますメインアクティビティ(ソフトウェア戻るボタン)。そして、コードは次のとおりです。
final Button btnBack = (Button) findViewById(R.id.btnBack);
btnBack.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//when Back button is pressed, it is cancelled
setResult(Activity.RESULT_CANCELED);
finish();
}
});
と主な活動で
は、私は、このボタンを再度有効にするために使用しています:@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
btnProcess.setEnabled(true);
}
私のプログラムは、エミュレータ(AVD)で正常に動作します。私はこれをAndroid搭載機器の所有者に与えました。テストの後、彼は正常に動作するが、メインのアクティビティから戻るボタン(ハードウェアボタン)を押すと、プログラムは終了していないと言いました。まだ記憶に!しかし、AVDでテストしたところ、メインアクティビティからハードウェアの戻るボタンを押すと、電話のホーム画面が表示されます。
私はNokiaデバイス(正確には5230)を使用しています。そして、私が "終了"ボタンを押すと、いくつかのプログラムがまだメモリに常駐している可能性があることを知っています。私はタスクマネージャを使って手動で閉じなければなりません。
私はこの問題で少し混乱しています! 2つの活動をしながら、私が世話をしなければならないものはありますか?
なぜあなたはメモリからプロセスを終了しようとしているのですか?私はあなたのアプリケーションを終了しないことをお勧めします、アンドロイドのメモリ管理はこれを自分で処理します –
あなたの友達の電話であなた自身をチェックしましたか?実行中のアプリとメモリにキャッシュされたアプリとの間には違いがあります。 – Sam
返信してくれてありがとう。私はAndroidの携帯電話を使っている経験はありません(私の友人のNeo Vを一回しか使用していない)。私はこのアプリを電話で試したことはありません。彼は私のアプリをテストし、これを唯一の問題として言い、それを修正するよう提案しました。私は状況を再現することができないので、私は何をすべきかについてちょっと混乱しました! –