Android新的Intent内存泄漏/内存不足

时间:2013-05-19 11:52:07

标签: android memory-leaks out-of-memory android-memory

我有一个有2个活动的应用程序。第一个在启动时启动,使用按钮使用Intent启动第二个活动。

Intent intent = new Intent(MainActivity.this, com.example.project.SomeActivity.class);
startActivityForResult(intent, 0);

在第二项活动中,我有一台相机和一些内存分配。

当我在第二个活动中按下“关闭”按钮时,我会在相机上调出“关闭”并完成活动。

    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

我可以找出为什么会发生这种情况。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,发现了问题 - 由于持有对'Context'对象的引用,它确实是内存泄漏。 发布后 - 应用程序不再崩溃。