D/installd( 115): DexInv: --- BEGIN '/system/app/JETBoy.apk' ---
D/dalvikvm( 395): DexOpt: load 7ms, verify 33ms, opt 0ms
D/installd( 115): DexInv: --- END '/system/app/JETBoy.apk' (success) ---
D/JetBoy ( 390): opening jet file
D/JetBoy ( 390): opening jet file DONE
D/JetBoy ( 390): start queuing jet file
D/JetBoy ( 390): start queuing jet file DONE
D/dalvikvm( 390): GC freed 717 objects / 53848 bytes in 25ms
D/dalvikvm( 390): GC freed 68 objects / 2704 bytes in 24ms
D/dalvikvm( 390): GC freed 36 objects / 1760 bytes in 24ms
D/JetBoy ( 390): @@@ done creating view!
D/dalvikvm( 390): GC freed 300 objects / 16344 bytes in 24ms
D/dalvikvm( 390): GC freed 23 objects / 912 bytes in 20ms
I/ActivityManager( 130): Displayed activity com.example.android.jetboy/.JetBoy: 1313 ms (total 1313 ms)
E/JET_JNI ( 390): android_media_JetPlayer_pause(): failed to pause with EAS error code -31
E/SurfaceComposerClient( 130): openGlobalTransaction() called more than once. skipping.
E/SurfaceComposerClient( 130): Not in transaction (client=0x8c6ded0, SurfaceID=0, mTransactionOpen=0
W/WindowManager( 130): Error updating surface in Window{b074a9d8 com.example.android.jetboy/com.example.android.jetboy.JetBoy paused=false}
W/WindowManager( 130): java.lang.IllegalArgumentException
W/WindowManager( 130): at android.view.Surface.setAlpha(Native Method)
W/WindowManager( 130): at com.android.server.WindowManagerService.performLayoutAndPlaceSurfacesLockedInner(WindowManagerService.java:10186)
W/WindowManager( 130): at com.android.server.WindowManagerService.performLayoutAndPlaceSurfacesLocked(WindowManagerService.java:9256)
W/WindowManager( 130): at com.android.server.WindowManagerService.finishDrawingWindow(WindowManagerService.java:2540)
W/WindowManager( 130): at com.android.server.WindowManagerService$Session.finishDrawing(WindowManagerService.java:6709)
W/WindowManager( 130): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:212)
W/WindowManager( 130): at com.android.server.WindowManagerService$Session.onTransact(WindowManagerService.java:6648)
W/WindowManager( 130): at android.os.Binder.execTransact(Binder.java:287)
W/WindowManager( 130): at com.android.server.SystemServer.init1(Native Method)
W/WindowManager( 130): at com.android.server.SystemServer.main(SystemServer.java:497)
W/WindowManager( 130): at java.lang.reflect.Method.invokeNative(Native Method)
W/WindowManager( 130): at java.lang.reflect.Method.invoke(Method.java:521)
W/WindowManager( 130): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
W/WindowManager( 130): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
W/WindowManager( 130): at dalvik.system.NativeStart.main(Native Method)
I/WindowManager( 130): Out of memory for surface! Looking for leaks...
W/WindowManager( 130): LEAKED SURFACE (app token hidden): Window{b073a9d8 com.android.internal.service.wallpaper.ImageWallpaper paused=false} surface=Surface(native-token=1470}
W/WindowManager( 130): LEAKED SURFACE (app token hidden): Window{b06b95e0 com.android.launcher/com.android.launcher.Launcher paused=false} surface=Surface(native-token=1472204}
W/WindowManager( 130): LEAKED SURFACE (app token hidden): Window{b0765bf8 SurfaceView paused=false} surface=Surface(native-token=147874072) token=AppWindowToken{b0839438 token}
E/Surface ( 390): error dequeuing a buffer (Unknown error: -19)
E/Surface ( 390): dequeueBuffer failed (No such device)
E/SurfaceHolder( 390): Exception locking surface
E/SurfaceHolder( 390): java.lang.IllegalArgumentException
E/SurfaceHolder( 390): at android.view.Surface.lockCanvasNative(Native Method)
E/SurfaceHolder( 390): at android.view.Surface.lockCanvas(Surface.java:288)
E/SurfaceHolder( 390): at android.view.SurfaceView$2.internalLockCanvas(SurfaceView.java:680)
E/SurfaceHolder( 390): at android.view.SurfaceView$2.lockCanvas(SurfaceView.java:663)
E/SurfaceHolder( 390): at com.example.android.jetboy.JetBoyView$JetBoyThread.run(JetBoyView.java:663)
W/WindowManager( 130): LEAKED SURFACE (app token hidden): Window{b074a9d8 com.example.android.jetboy/com.example.android.jetboy.JetBoy paused=false} surface=Surface(native-tok}
W/WindowManager( 130): LEAKED SURFACE (app token hidden): Window{b06510c8 StatusBarExpanded paused=false} surface=Surface(native-token=147019560) token=AppWindowToken{b0839438}
W/WindowManager( 130): LEAKED SURFACE (app token hidden): Window{b076f740 StatusBar paused=false} surface=Surface(native-token=145184728) token=AppWindowToken{b0839438 token=H}
W/WindowManager( 130): Looks like we have reclaimed some memory, clearing surface for retry.
W/WindowManager( 130): Due to memory failure, waiting a bit for next layout
W/dalvikvm( 390): threadid=19: thread exiting with uncaught exception (group=0xb6044c50)
E/AndroidRuntime( 390): Uncaught handler: thread Thread-8 exiting due to uncaught exception
E/AndroidRuntime( 390): java.lang.NullPointerException
E/AndroidRuntime( 390): at com.example.android.jetboy.JetBoyView$JetBoyThread.doDrawReady(JetBoyView.java:609)
E/AndroidRuntime( 390): at com.example.android.jetboy.JetBoyView$JetBoyThread.doDraw(JetBoyView.java:483)
E/AndroidRuntime( 390): at com.example.android.jetboy.JetBoyView$JetBoyThread.run(JetBoyView.java:665)
I/Process ( 130): Sending signal. PID: 390 SIG: 3
E/ActivityThread( 130): Failed to find provider info for android.server.checkin
E/Checkin ( 130): Error reporting crash: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/crashes
I/dalvikvm( 390): threadid=7: reacting to signal 3
I/dalvikvm( 390): Wrote stack trace to '/data/anr/traces.txt'
E/Surface ( 211): surface (id=0, identity=67) is invalid, err=-19 (No such device)
E/Surface ( 211): dequeueBuffer failed (No such device)
E/ViewRoot( 211): IllegalArgumentException locking surface
E/ViewRoot( 211): java.lang.IllegalArgumentException
E/ViewRoot( 211): at android.view.Surface.lockCanvasNative(Native Method)
E/ViewRoot( 211): at android.view.Surface.lockCanvas(Surface.java:288)
E/ViewRoot( 211): at android.view.ViewRoot.draw(ViewRoot.java:1283)
E/ViewRoot( 211): at android.view.ViewRoot.performTraversals(ViewRoot.java:1114)
E/ViewRoot( 211): at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
E/ViewRoot( 211): at android.os.Handler.dispatchMessage(Handler.java:99)
E/ViewRoot( 211): at android.os.Looper.loop(Looper.java:123)
E/ViewRoot( 211): at android.app.ActivityThread.main(ActivityThread.java:4363)
E/ViewRoot( 211): at java.lang.reflect.Method.invokeNative(Native Method)
E/ViewRoot( 211): at java.lang.reflect.Method.invoke(Method.java:521)
E/ViewRoot( 211): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/ViewRoot( 211): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/ViewRoot( 211): at dalvik.system.NativeStart.main(Native Method)
I/Process ( 390): Sending signal. PID: 390 SIG: 9
出现该问题后,android的壁纸和statusbar都消失,home背景变黑。各位大侠帮忙看看,问题可能处在什么地方,谢谢!
16 个解决方案
#1
问题补充,有看到论坛中出现类似的问题,不过是在开发应用时,由于内存溢出出现,我遇见的问题只是系统运行就可能会出现,比如只是做一些设置或浏览。望各位大侠多多指教。
#2
I/WindowManager( 130): Out of memory for surface! Looking for leaks...
surface 内存溢出,造成的原因可能在于load进了比较大的图片,运行时内存不足导致的。
建议将系统的androidruntime.cpp中的opt.optionString改大,原始大小为-Xmx8m,可以将它设置更大"-Xmx64m"。
或者将surface更新绘制部分的代码贴上来,可能有些地方需要优化。
surface 内存溢出,造成的原因可能在于load进了比较大的图片,运行时内存不足导致的。
建议将系统的androidruntime.cpp中的opt.optionString改大,原始大小为-Xmx8m,可以将它设置更大"-Xmx64m"。
或者将surface更新绘制部分的代码贴上来,可能有些地方需要优化。
#3
内存问题。。资源未释放吧
#4
先表示感谢,不过可能是版本原因,我的是android-eclair-x86-2.1,在AndroidRuntime.cpp没有-Xmx8m的类似定义...
#5
如果是的话,那就是android自身有bug,因为android的源码什么都没改,也没有运行第三方的应用,倒是觉得可能是某些参数等引起了这样的问题
#6
我找到了你说的参数设置,和老版本有些区别,默认是16m,我把它改大了,似乎问题没能解决。不知道,兄台对android内存的分配和管理熟不,或者可否推荐相关资料,谢谢!
我的系统显示用的是framebuffer驱动,也许显存管理这里会有些问题。
#7
1. 我对显示驱动不了解,只能根据经验来说一些解决方法而已,这个帮不了你呢。
2. 从log上看
E/JET_JNI ( 390): android_media_JetPlayer_pause(): failed to pause with EAS error code -31
E/SurfaceComposerClient( 130): openGlobalTransaction() called more than once. skipping.
E/SurfaceComposerClient( 130): Not in transaction (client=0x8c6ded0, SurfaceID=0, mTransactionOpen=0
W/WindowManager( 130): Error updating surface in Window{b074a9d8 com.example.android.jetboy/com.example.android.jetboy.JetBoy paused=false}
这是调用ap的jni有问题,最好去看下jni的源代码,感觉就是在复制图像或者读取图像时出了问题。
2. 从log上看
E/JET_JNI ( 390): android_media_JetPlayer_pause(): failed to pause with EAS error code -31
E/SurfaceComposerClient( 130): openGlobalTransaction() called more than once. skipping.
E/SurfaceComposerClient( 130): Not in transaction (client=0x8c6ded0, SurfaceID=0, mTransactionOpen=0
W/WindowManager( 130): Error updating surface in Window{b074a9d8 com.example.android.jetboy/com.example.android.jetboy.JetBoy paused=false}
这是调用ap的jni有问题,最好去看下jni的源代码,感觉就是在复制图像或者读取图像时出了问题。
#8
多谢啦,你讲的第二点中的android_media_JetPlayer_pause(): failed to pause with EAS error code -31,应该是音频有问题,这个我们这边已经解决了,但是在surface这块,运行还是不太稳定。目前来看,完全是随机出现,还未找到根本原因...
#9
Surface Leak? Surface的创建和释放应该是由系统维护的。lz没有改过系统代码,这个问题就不好说了。我已经习惯Android经常出些莫名其妙的问题了
#10
系统代码确实没有改过,现在很无语,同样的一套开发板,但是不同的板子上,出现问题的概率大不一样...现在我怀疑跟硬件会有一定的关系。你对android的内存分配与管理熟不?
#11
楼主,surface问题解决了
#12
#13
#14
跪求
怎么解决的呢
怎么解决的呢
#15
怎么解决的??
最近用surface 也出现这样的问题
#16
做个记号,有类似的问题!!!
#1
问题补充,有看到论坛中出现类似的问题,不过是在开发应用时,由于内存溢出出现,我遇见的问题只是系统运行就可能会出现,比如只是做一些设置或浏览。望各位大侠多多指教。
#2
I/WindowManager( 130): Out of memory for surface! Looking for leaks...
surface 内存溢出,造成的原因可能在于load进了比较大的图片,运行时内存不足导致的。
建议将系统的androidruntime.cpp中的opt.optionString改大,原始大小为-Xmx8m,可以将它设置更大"-Xmx64m"。
或者将surface更新绘制部分的代码贴上来,可能有些地方需要优化。
surface 内存溢出,造成的原因可能在于load进了比较大的图片,运行时内存不足导致的。
建议将系统的androidruntime.cpp中的opt.optionString改大,原始大小为-Xmx8m,可以将它设置更大"-Xmx64m"。
或者将surface更新绘制部分的代码贴上来,可能有些地方需要优化。
#3
内存问题。。资源未释放吧
#4
先表示感谢,不过可能是版本原因,我的是android-eclair-x86-2.1,在AndroidRuntime.cpp没有-Xmx8m的类似定义...
#5
如果是的话,那就是android自身有bug,因为android的源码什么都没改,也没有运行第三方的应用,倒是觉得可能是某些参数等引起了这样的问题
#6
我找到了你说的参数设置,和老版本有些区别,默认是16m,我把它改大了,似乎问题没能解决。不知道,兄台对android内存的分配和管理熟不,或者可否推荐相关资料,谢谢!
我的系统显示用的是framebuffer驱动,也许显存管理这里会有些问题。
#7
1. 我对显示驱动不了解,只能根据经验来说一些解决方法而已,这个帮不了你呢。
2. 从log上看
E/JET_JNI ( 390): android_media_JetPlayer_pause(): failed to pause with EAS error code -31
E/SurfaceComposerClient( 130): openGlobalTransaction() called more than once. skipping.
E/SurfaceComposerClient( 130): Not in transaction (client=0x8c6ded0, SurfaceID=0, mTransactionOpen=0
W/WindowManager( 130): Error updating surface in Window{b074a9d8 com.example.android.jetboy/com.example.android.jetboy.JetBoy paused=false}
这是调用ap的jni有问题,最好去看下jni的源代码,感觉就是在复制图像或者读取图像时出了问题。
2. 从log上看
E/JET_JNI ( 390): android_media_JetPlayer_pause(): failed to pause with EAS error code -31
E/SurfaceComposerClient( 130): openGlobalTransaction() called more than once. skipping.
E/SurfaceComposerClient( 130): Not in transaction (client=0x8c6ded0, SurfaceID=0, mTransactionOpen=0
W/WindowManager( 130): Error updating surface in Window{b074a9d8 com.example.android.jetboy/com.example.android.jetboy.JetBoy paused=false}
这是调用ap的jni有问题,最好去看下jni的源代码,感觉就是在复制图像或者读取图像时出了问题。
#8
多谢啦,你讲的第二点中的android_media_JetPlayer_pause(): failed to pause with EAS error code -31,应该是音频有问题,这个我们这边已经解决了,但是在surface这块,运行还是不太稳定。目前来看,完全是随机出现,还未找到根本原因...
#9
Surface Leak? Surface的创建和释放应该是由系统维护的。lz没有改过系统代码,这个问题就不好说了。我已经习惯Android经常出些莫名其妙的问题了
#10
系统代码确实没有改过,现在很无语,同样的一套开发板,但是不同的板子上,出现问题的概率大不一样...现在我怀疑跟硬件会有一定的关系。你对android的内存分配与管理熟不?
#11
楼主,surface问题解决了
#12
#13
#14
跪求
怎么解决的呢
怎么解决的呢
#15
怎么解决的??
最近用surface 也出现这样的问题
#16
做个记号,有类似的问题!!!