我有一个包含 2 个活动的应用程序。第一个在启动时启动,并通过一个按钮使用 Intent 启动第二个活动。
Intent intent = new Intent(MainActivity.this, com.example.project.SomeActivity.class);
startActivityForResult(intent, 0);
在第二个活动中,我有一个相机和一些内存分配。
当我在第二个活动中按下“关闭”按钮时,我在相机上调用 Close 并完成活动。
m_camera.Close(CameraEnum.FRONT.getCameraID());
this.finish();
System.gc();
当我第一次关闭活动并从第一个活动中调用它时,一切都很好,第二次也是如此 - 但是当我第三次打开它时 - 我在这一行出现内存不足错误:
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
我可以找出为什么会发生这种情况。
有任何想法吗?
谢谢!