Android 1.6下not enough memory for layer bitmap错误是怎么回事? 只是跑了个很小的APK应用程序啊!应该还不至于会真正的内存不足!不知道是不是ANDROID 1。6应用程序对图片有特别的要求还是什么其它原因! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 具体的LOGCAT错误消息!!!E/SurfaceFlinger( 181): not enough memory for layer bitmap size=770048 (w=800, h=480, stride=800, format=4)D/MemoryDealer( 181): LayerBitmap (0x1fed20, size=8388608)D/MemoryDealer( 181): 0: 001fed58 | 0x00000000 | 0x000BC000 | A D/MemoryDealer( 181): 1: 0020de08 | 0x000BC000 | 0x000BC000 | A D/MemoryDealer( 181): 2: 002647d8 | 0x00178000 | 0x000B2000 | F D/MemoryDealer( 181): 3: 00213ac8 | 0x0022A000 | 0x0000A000 | A D/MemoryDealer( 181): 4: 000af160 | 0x00234000 | 0x000BC000 | A D/MemoryDealer( 181): 5: 001fa8d8 | 0x002F0000 | 0x0000A000 | A D/MemoryDealer( 181): 6: 002417f8 | 0x002FA000 | 0x000BC000 | A D/MemoryDealer( 181): 7: 002648f0 | 0x003B6000 | 0x000BC000 | A D/MemoryDealer( 181): 8: 001ab528 | 0x00472000 | 0x000BC000 | A D/MemoryDealer( 181): 9: 00266f78 | 0x0052E000 | 0x000BC000 | A D/MemoryDealer( 181): 10: 002664a8 | 0x005EA000 | 0x000BC000 | A D/MemoryDealer( 181): 11: 0027feb8 | 0x006A6000 | 0x000BC000 | A D/MemoryDealer( 181): 12: 00261280 | 0x00762000 | 0x0009E000 | F D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)E/SurfaceFlinger( 181): resizing buffer 1 to (800,480) failed [fffffff4] Unknown error: -12E/SurfaceFlinger( 181): not enough memory for layer bitmap size=770048 (w=800, h=480, stride=800, format=4)D/MemoryDealer( 181): LayerBitmap (0x1fed20, size=8388608)D/MemoryDealer( 181): 0: 001fed58 | 0x00000000 | 0x000BC000 | A D/MemoryDealer( 181): 1: 0020de08 | 0x000BC000 | 0x000BC000 | A D/MemoryDealer( 181): 2: 002647d8 | 0x00178000 | 0x000B2000 | F D/MemoryDealer( 181): 3: 00213ac8 | 0x0022A000 | 0x0000A000 | A D/MemoryDealer( 181): 4: 000af160 | 0x00234000 | 0x000BC000 | A D/MemoryDealer( 181): 5: 001fa8d8 | 0x002F0000 | 0x0000A000 | A D/MemoryDealer( 181): 6: 002417f8 | 0x002FA000 | 0x000BC000 | A D/MemoryDealer( 181): 7: 002648f0 | 0x003B6000 | 0x000BC000 | A D/MemoryDealer( 181): 8: 001ab528 | 0x00472000 | 0x000BC000 | A D/MemoryDealer( 181): 9: 00266f78 | 0x0052E000 | 0x000BC000 | A D/MemoryDealer( 181): 10: 002664a8 | 0x005EA000 | 0x000BC000 | A D/MemoryDealer( 181): 11: 0027feb8 | 0x006A6000 | 0x000BC000 | A D/MemoryDealer( 181): 12: 00261280 | 0x00762000 | 0x0009E000 | F D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)E/SurfaceFlinger( 181): createNormalSurfaceLocked() failed (Out of memory)W/WindowManager( 181): OutOfResourcesException creating surfaceI/WindowManager( 181): Out of memory for surface! Looking for leaks...W/WindowManager( 181): No leaked surfaces; killing applicatons!W/ActivityManager( 181): Killing processes for memory at adjustment 4W/ActivityManager( 181): Killing for memory: ProcessRecord{43a72830 234:android.process.acore/10004} (adj 4)I/Process ( 181): Sending signal. PID: 234 SIG: 9W/WindowManager( 181): Looks like we have reclaimed some memory, clearing surface for retry.W/WindowManager( 181): Due to memory failure, waiting a bit for next layout 网上相关问题帖子memory Errorhttp://www.andengine.org/forums/bugs/memory-error-t411.html activity透明化处理时发生内存益出http://bbs.gfan.com/viewthread.php?tid=83065 6M的图片...换个格式吧,png的怎么也不会到6M啊 那里有6M?size=770048 ,也就752KB。我用的就是PNG图片,在PC上显示才624KB。你说的6M怎么看出来的? D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)通过这个算出来还真的是6M多啊!不过我的机子可是有20多MB的内存啊!即使图片要用6MB也应该是没什么问题的啊!LayerBitmap是个什么概念?多层图片?layer是层的意思。D/MemoryDealer( 181): LayerBitmap (0x1fed20, size=8388608)D/MemoryDealer( 181): 0: 001fed58 | 0x00000000 | 0x000BC000 | A D/MemoryDealer( 181): 1: 0020de08 | 0x000BC000 | 0x000BC000 | A D/MemoryDealer( 181): 2: 002647d8 | 0x00178000 | 0x000B2000 | F D/MemoryDealer( 181): 3: 00213ac8 | 0x0022A000 | 0x0000A000 | A D/MemoryDealer( 181): 4: 000af160 | 0x00234000 | 0x000BC000 | A D/MemoryDealer( 181): 5: 001fa8d8 | 0x002F0000 | 0x0000A000 | A D/MemoryDealer( 181): 6: 002417f8 | 0x002FA000 | 0x000BC000 | A D/MemoryDealer( 181): 7: 002648f0 | 0x003B6000 | 0x000BC000 | A D/MemoryDealer( 181): 8: 001ab528 | 0x00472000 | 0x000BC000 | A D/MemoryDealer( 181): 9: 00266f78 | 0x0052E000 | 0x000BC000 | A D/MemoryDealer( 181): 10: 002664a8 | 0x005EA000 | 0x000BC000 | A D/MemoryDealer( 181): 11: 0027feb8 | 0x006A6000 | 0x000BC000 | A D/MemoryDealer( 181): 12: 00261280 | 0x00762000 | 0x0009E000 | F D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)上面的消息显示有13层图片?第3个图片加载和最后一个图片加载分配内存的时候失败了?标为F了。 D/MemoryDealer( 181): LayerBitmap (0x1fed20, size=8388608)D/MemoryDealer( 181): 0: 001fed58 | 0x00000000 | 0x000BC000 | A D/MemoryDealer( 181): 1: 0020de08 | 0x000BC000 | 0x000BC000 | A D/MemoryDealer( 181): 2: 002647d8 | 0x00178000 | 0x000B2000 | F D/MemoryDealer( 181): 3: 00213ac8 | 0x0022A000 | 0x0000A000 | A D/MemoryDealer( 181): 4: 000af160 | 0x00234000 | 0x000BC000 | A D/MemoryDealer( 181): 5: 001fa8d8 | 0x002F0000 | 0x0000A000 | A D/MemoryDealer( 181): 6: 002417f8 | 0x002FA000 | 0x000BC000 | A D/MemoryDealer( 181): 7: 002648f0 | 0x003B6000 | 0x000BC000 | A D/MemoryDealer( 181): 8: 001ab528 | 0x00472000 | 0x000BC000 | A D/MemoryDealer( 181): 9: 00266f78 | 0x0052E000 | 0x000BC000 | A D/MemoryDealer( 181): 10: 002664a8 | 0x005EA000 | 0x000BC000 | A D/MemoryDealer( 181): 11: 0027feb8 | 0x006A6000 | 0x000BC000 | A D/MemoryDealer( 181): 12: 00261280 | 0x00762000 | 0x0009E000 | F D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)为何第3个图片跟最后一个图片加载会失败?他们对应的大小为0x000B2000和0x0009E000,但分配0x000BC000大小的内存都没失败啊?难道有什么内存对齐的问题存在?还是ANDROID对图片有特别的要求?图片要特别调整? 奇怪的是在ANDROID2。2的模拟器上不会报上面的错误消息。ANDROID版本的问题?我的系统不能调试,定位不到报错代码的地方!!!关键在ANDROID2。2模拟器上又没有这样的问题。看来的换个1。6的模拟器看看!!! 在ANDROID1。6的模拟器上也会报上面的内存错误,但在ANDROID2。2的模拟器上不会,看来真的可能是ANDROID的版本问题!!! 还是没找到问题所在,查ANDROID的源代码也不大明白。android系统原理及开发要点详解.pdf有对SurfaceFlinger的介绍 新人求助两个个问题 关于android开发。。。。求高手指点下 关于安卓OnClickListenter的问题 菜鸟求助 EGLContext的怪问题 测试题,帮帮我 android自定义摄像头程序,景物被拉伸 请教关于Android系统编程与Android(NDK)的工作流程 关于SlidingDrawer的问题 android通话中可以播放语音文件通话吗? 求助 路过的大神给个思路 如何用eclipse导入app,看其代码 问问android代码的几个小疑问 如何动态变化菜单的标题与图像?
E/SurfaceFlinger( 181): not enough memory for layer bitmap size=770048 (w=800, h=480, stride=800, format=4)
D/MemoryDealer( 181): LayerBitmap (0x1fed20, size=8388608)
D/MemoryDealer( 181): 0: 001fed58 | 0x00000000 | 0x000BC000 | A
D/MemoryDealer( 181): 1: 0020de08 | 0x000BC000 | 0x000BC000 | A
D/MemoryDealer( 181): 2: 002647d8 | 0x00178000 | 0x000B2000 | F
D/MemoryDealer( 181): 3: 00213ac8 | 0x0022A000 | 0x0000A000 | A
D/MemoryDealer( 181): 4: 000af160 | 0x00234000 | 0x000BC000 | A
D/MemoryDealer( 181): 5: 001fa8d8 | 0x002F0000 | 0x0000A000 | A
D/MemoryDealer( 181): 6: 002417f8 | 0x002FA000 | 0x000BC000 | A
D/MemoryDealer( 181): 7: 002648f0 | 0x003B6000 | 0x000BC000 | A
D/MemoryDealer( 181): 8: 001ab528 | 0x00472000 | 0x000BC000 | A
D/MemoryDealer( 181): 9: 00266f78 | 0x0052E000 | 0x000BC000 | A
D/MemoryDealer( 181): 10: 002664a8 | 0x005EA000 | 0x000BC000 | A
D/MemoryDealer( 181): 11: 0027feb8 | 0x006A6000 | 0x000BC000 | A
D/MemoryDealer( 181): 12: 00261280 | 0x00762000 | 0x0009E000 | F
D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)
E/SurfaceFlinger( 181): resizing buffer 1 to (800,480) failed [fffffff4] Unknown error: -12
E/SurfaceFlinger( 181): not enough memory for layer bitmap size=770048 (w=800, h=480, stride=800, format=4)
D/MemoryDealer( 181): LayerBitmap (0x1fed20, size=8388608)
D/MemoryDealer( 181): 0: 001fed58 | 0x00000000 | 0x000BC000 | A
D/MemoryDealer( 181): 1: 0020de08 | 0x000BC000 | 0x000BC000 | A
D/MemoryDealer( 181): 2: 002647d8 | 0x00178000 | 0x000B2000 | F
D/MemoryDealer( 181): 3: 00213ac8 | 0x0022A000 | 0x0000A000 | A
D/MemoryDealer( 181): 4: 000af160 | 0x00234000 | 0x000BC000 | A
D/MemoryDealer( 181): 5: 001fa8d8 | 0x002F0000 | 0x0000A000 | A
D/MemoryDealer( 181): 6: 002417f8 | 0x002FA000 | 0x000BC000 | A
D/MemoryDealer( 181): 7: 002648f0 | 0x003B6000 | 0x000BC000 | A
D/MemoryDealer( 181): 8: 001ab528 | 0x00472000 | 0x000BC000 | A
D/MemoryDealer( 181): 9: 00266f78 | 0x0052E000 | 0x000BC000 | A
D/MemoryDealer( 181): 10: 002664a8 | 0x005EA000 | 0x000BC000 | A
D/MemoryDealer( 181): 11: 0027feb8 | 0x006A6000 | 0x000BC000 | A
D/MemoryDealer( 181): 12: 00261280 | 0x00762000 | 0x0009E000 | F
D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)
E/SurfaceFlinger( 181): createNormalSurfaceLocked() failed (Out of memory)
W/WindowManager( 181): OutOfResourcesException creating surface
I/WindowManager( 181): Out of memory for surface! Looking for leaks...
W/WindowManager( 181): No leaked surfaces; killing applicatons!
W/ActivityManager( 181): Killing processes for memory at adjustment 4
W/ActivityManager( 181): Killing for memory: ProcessRecord{43a72830 234:android.process.acore/10004} (adj 4)
I/Process ( 181): Sending signal. PID: 234 SIG: 9
W/WindowManager( 181): Looks like we have reclaimed some memory, clearing surface for retry.
W/WindowManager( 181): Due to memory failure, waiting a bit for next layout
那里有6M?size=770048 ,也就752KB。我用的就是PNG图片,在PC上显示才624KB。你说的6M怎么看出来的?
LayerBitmap是个什么概念?多层图片?layer是层的意思。
D/MemoryDealer( 181): LayerBitmap (0x1fed20, size=8388608)
D/MemoryDealer( 181): 0: 001fed58 | 0x00000000 | 0x000BC000 | A
D/MemoryDealer( 181): 1: 0020de08 | 0x000BC000 | 0x000BC000 | A
D/MemoryDealer( 181): 2: 002647d8 | 0x00178000 | 0x000B2000 | F
D/MemoryDealer( 181): 3: 00213ac8 | 0x0022A000 | 0x0000A000 | A
D/MemoryDealer( 181): 4: 000af160 | 0x00234000 | 0x000BC000 | A
D/MemoryDealer( 181): 5: 001fa8d8 | 0x002F0000 | 0x0000A000 | A
D/MemoryDealer( 181): 6: 002417f8 | 0x002FA000 | 0x000BC000 | A
D/MemoryDealer( 181): 7: 002648f0 | 0x003B6000 | 0x000BC000 | A
D/MemoryDealer( 181): 8: 001ab528 | 0x00472000 | 0x000BC000 | A
D/MemoryDealer( 181): 9: 00266f78 | 0x0052E000 | 0x000BC000 | A
D/MemoryDealer( 181): 10: 002664a8 | 0x005EA000 | 0x000BC000 | A
D/MemoryDealer( 181): 11: 0027feb8 | 0x006A6000 | 0x000BC000 | A
D/MemoryDealer( 181): 12: 00261280 | 0x00762000 | 0x0009E000 | F
D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)上面的消息显示有13层图片?第3个图片加载和最后一个图片加载分配内存的时候失败了?标为F了。
D/MemoryDealer( 181): LayerBitmap (0x1fed20, size=8388608)
D/MemoryDealer( 181): 0: 001fed58 | 0x00000000 | 0x000BC000 | A
D/MemoryDealer( 181): 1: 0020de08 | 0x000BC000 | 0x000BC000 | A
D/MemoryDealer( 181): 2: 002647d8 | 0x00178000 | 0x000B2000 | F
D/MemoryDealer( 181): 3: 00213ac8 | 0x0022A000 | 0x0000A000 | A
D/MemoryDealer( 181): 4: 000af160 | 0x00234000 | 0x000BC000 | A
D/MemoryDealer( 181): 5: 001fa8d8 | 0x002F0000 | 0x0000A000 | A
D/MemoryDealer( 181): 6: 002417f8 | 0x002FA000 | 0x000BC000 | A
D/MemoryDealer( 181): 7: 002648f0 | 0x003B6000 | 0x000BC000 | A
D/MemoryDealer( 181): 8: 001ab528 | 0x00472000 | 0x000BC000 | A
D/MemoryDealer( 181): 9: 00266f78 | 0x0052E000 | 0x000BC000 | A
D/MemoryDealer( 181): 10: 002664a8 | 0x005EA000 | 0x000BC000 | A
D/MemoryDealer( 181): 11: 0027feb8 | 0x006A6000 | 0x000BC000 | A
D/MemoryDealer( 181): 12: 00261280 | 0x00762000 | 0x0009E000 | F
D/MemoryDealer( 181): size allocated: 7012352 (6848 KB)
为何第3个图片跟最后一个图片加载会失败?他们对应的大小为0x000B2000和0x0009E000,但分配0x000BC000大小的内存都没失败啊?难道有什么内存对齐的问题存在?还是ANDROID对图片有特别的要求?
图片要特别调整?
奇怪的是在ANDROID2。2的模拟器上不会报上面的错误消息。ANDROID版本的问题?我的系统不能调试,定位不到报错代码的地方!!!关键在ANDROID2。2模拟器上又没有这样的问题。看来的换个1。6的模拟器看看!!!
在ANDROID1。6的模拟器上也会报上面的内存错误,但在ANDROID2。2的模拟器上不会,看来真的可能是ANDROID的版本问题!!!