0

私のアプリでは、画像を選択してから、最初のアクティビティで次をクリックすると、アクティビティ番号に移動します。2 そして、そこで選択した画像が画像ビューに表示されます。最初のアクティビティをクリックして戻ってから次のアクティビティを再度クリックすると、以前に選択した画像を含むアクティビティ num.2 に移動します。

アクティビティ番号のボタンをクリックすると、イメージビューがリサイクルされるようにするにはどうすればよいですか。2最初のアクティビティで新しいビットマップを選択するとメモリが解放されるため、OutOfMemoryの問題を回避できます

    // the back button
    Back.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            Intent back = new Intent(Second.this, StartActivity.class);
            startActivity(back);
        }
    });

これがイメージビューです

    iv = (ImageView) findViewById(R.id.choosen_iv);
    iv.setImageBitmap(choosenBitmap);

choosenBitmap.recycle(); を試しました。最初のアクティビティで次にクリックすると、ビットマップはまだそこにあります

4

2 に答える 2

2

StartActivity戻るボタンのメソッドでやり直すのではなく、アクティビティonClickを呼び出すだけです。これにより、最初のアクティビティに戻ります。次に、(別のビットマップを選択して) 2 番目のアクティビティを再度開始すると、最初に行ったようにすべてが初期化されます。finish()Second

于 2012-08-12T21:42:20.903 に答える
1

Intent前のアクティビティに戻るために、なぜ戻るボタンが必要なのですか? ハードウェアの戻るボタンはそれ自体で処理できます。

アクティビティのライフサイクル メソッドを使用して、 Bitmap 型変数onDestroy()をリサイクルできます。choosenBitmap

于 2012-08-12T23:00:21.847 に答える