对于Android中的此过程,外部分配太大

时间:2010-11-16 12:04:42

标签: android memory-management

我的应用中出现“外部分配对于此过程”的错误。很多这些同时出现:

11-16 10:56:59.230: ERROR/dalvikvm-heap(2875): 1303680-byte external allocation too large for this process.
11-16 10:56:59.230: ERROR/GraphicsJNI(2875): VM won't let us allocate 1303680 bytes
11-16 10:56:59.230: ERROR/dalvikvm-heap(2875): 1536000-byte external allocation too large for this process.
11-16 10:56:59.230: ERROR/GraphicsJNI(2875): VM won't let us allocate 1536000 bytes

在加载大位图后,看起来它们是在渲染布局时生成的。但是,在解码位图时不会产生错误。

如何调试这些错误?还有其他指示吗?

2 个答案:

答案 0 :(得分:4)

如果您正在使用线程,那么调试器可能是问题的根源。如果您在调试器下运行应用程序,则调试器仍将保留所创建的任何线程,即使它们已完成运行。这会导致在没有调试器的情况下运行应用程序时不会发生的内存错误。

http://code.google.com/p/android/issues/detail?id=7979

答案 1 :(得分:4)

在我的具体案例中,adamp的评论就是答案:

  

框架通常会捕获视图   在屏幕上显示临时位图   绘画表现。看起来像   你的应用正在向上推进   它的内存限制已经和这个   碰到它。看看吧   限制你的其他建议   应用程序的内存使用情况。