Android 无法映射客户端中的内存:内存不足

Android 无法映射客户端中的内存:内存不足,android,out-of-memory,Android,Out Of Memory,我在主要活动中有一个列表。 每次单击列表项,它都会使用webview打开活动。我的设想是: 单击列表项,使用webview打开活动, 它加载后,我按下手机的“硬件后退”按钮,我又开始了主要活动。 这个场景我重复了更多次(30)。之后,我的应用程序崩溃,出现以下错误: E/OpenGLRenderer﹕ GL error: Out of memory! E/qdmemalloc﹕ ion: Failed to map memory in the client: Out of memory E/q

我在主要活动中有一个列表。 每次单击列表项,它都会使用webview打开活动。我的设想是: 单击列表项,使用webview打开活动, 它加载后,我按下手机的“硬件后退”按钮,我又开始了主要活动。 这个场景我重复了更多次(30)。之后,我的应用程序崩溃,出现以下错误:

E/OpenGLRenderer﹕ GL error:  Out of memory!
E/qdmemalloc﹕ ion: Failed to map memory in the client: Out of memory
E/qdgralloc﹕ Could not mmap handle 0x60b6560, fd=672 (Out of memory)
E/qdgralloc﹕ gralloc_register_buffer: gralloc_map failed
W/GraphicBufferMapper﹕ registerBuffer(0x60b6560) failed -12 (Out of memory)
E/GraphicBuffer﹕ unflatten: registerBuffer failed: Out of memory (-12)
E/Surface﹕ dequeueBuffer: IGraphicBufferProducer::requestBuffer failed: -12
W/Adreno-EGLSUB﹕ <DequeueBuffer:736>: dequeue native buffer fail: Out of memory, buffer=0x0, handle=0x0
E/opengl渲染器﹕ GL错误:内存不足!
E/qdmemalloc﹕ ion:无法映射客户端中的内存:内存不足
E/qdgralloc﹕ 无法mmap句柄0x60b6560,fd=672(内存不足)
E/qdgralloc﹕ gralloc_寄存器_缓冲区:gralloc_映射失败
带图形缓冲映射器﹕ 寄存器缓冲区(0x60b6560)失败-12(内存不足)
图形缓冲区﹕ 取消设置:寄存器缓冲失败:内存不足(-12)
E/表面﹕ 出列缓冲区:IGraphicBufferProducer::requestBuffer失败:-12
W/Adreno EGLSUB﹕ : 退出本机缓冲区失败:内存不足,缓冲区=0x0,句柄=0x0

您应该在清单文件中的
应用程序标签下包含
android:largeHeap=“true”

应用程序的进程是否应该使用大型Dalvik堆创建。这适用于为应用程序创建的所有进程。它仅适用于加载到进程中的第一个应用程序;如果您使用共享用户ID来允许多个应用程序使用一个进程,那么它们都必须一致地使用此选项,否则将产生不可预测的结果

大多数应用程序不应该需要这样做,而是应该专注于减少总体内存使用以提高性能。启用此功能也不能保证可用内存的固定增长,因为某些设备受其总可用内存的限制


我已经包括了
android:largeHeap=“true”
,但这对我没有帮助。请尝试在带有WebView的活动中重写
onBackPressed()
方法,然后调用
finish()在它里面。活动将被销毁,不会出现内存问题。非常感谢,我发现了问题所在,android 5.0或更高版本的webview存在问题