2 つのアクティビティを含むアプリがあります。最初のアクティビティは起動時に起動し、ボタンでインテントを使用して 2 番目のアクティビティを起動します。
Intent intent = new Intent(MainActivity.this, com.example.project.SomeActivity.class);
startActivityForResult(intent, 0);
2 番目のアクティビティでは、カメラといくつかのメモリ割り当てがあります。
2 番目のアクティビティで「閉じる」ボタンを押すと、カメラで Close を呼び出し、アクティビティを終了します。
m_camera.Close(CameraEnum.FRONT.getCameraID());
this.finish();
System.gc();
初めてアクティビティを閉じて、最初のアクティビティからコールバックすると、2 回目もすべて問題ありませんが、3 回目に開くと、次の行でメモリ不足エラーが発生します。
m_data = new byte[4*width*height];
私が得るエラーは次のとおりです。
05-19 14:22:51.440: E/dalvikvm-heap(31838): Out of memory on a 1228816-byte allocation.
...
05-19 14:42:42.174: E/AndroidRuntime(7345): java.lang.OutOfMemoryError
なぜこれが起こるべきかを知ることができます。
何か案は?
ありがとう!