jfeinstein10 / SlidingMenu

An Android library that allows you to easily create applications with slide-in menus. You may use it in your Android apps provided that you cite this project and include the license in your app. Thanks!
Apache License 2.0
11.08k stars 5.04k forks source link

Crash with StackOverFlow error when navigate in the app #594

Open drorg opened 10 years ago

drorg commented 10 years ago

I have app with complex layouts but clean as mach as I can, After fue navigation action throe different pages in the app I'm getting StackOverFlow Error: java.lang.StackOverflowError at android.view.GLES20Canvas.nGetClipBounds(Native Method) at android.view.GLES20Canvas.getClipBounds(GLES20Canvas.java:511) at android.text.Layout.getLineRangeForDraw(Layout.java:464) at android.text.Layout.draw(Layout.java:215) at android.widget.TextView.onDraw(TextView.java:5559) at android.view.View.draw(View.java:14316) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.getDisplayList(View.java:13252) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.getDisplayList(View.java:13252) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.getDisplayList(View.java:13252) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.support.v4.view.ViewPager.draw(ViewPager.java:2157) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.getDisplayList(View.java:13252) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.widget.ListView.drawChild(ListView.java:3340) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.widget.AbsListView.dispatchDraw(AbsListView.java:2812) at android.widget.ListView.dispatchDraw(ListView.java:3335) at android.view.View.draw(View.java:14427) at android.widget.AbsListView.draw(AbsListView.java:5189) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:831) at android.view.View.draw(View.java:14319) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.getDisplayList(View.java:13252) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.getDisplayList(View.java:13252) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.getDisplayList(View.java:13252) at android.view.View.getDisplayList(View.java:13298) at android.view.View.draw(View.java:14032) at android.view.ViewGroup.drawChild(ViewGroup.java:3045) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2914) at android.view.View.draw(View.java:14319) at android.widget.FrameLayout.draw(FrameLayout.java:467) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2507) at android.view.View.getDisplayList(View.java:13254) at android.view.View.getDisplayList(View.java:13298) at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1198) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2475) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2347) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2153) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1218) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4975) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791) at android.view.Choreographer.doCallbacks(Choreographer.java:591) at android.view.Choreographer.doFrame(Choreographer.java:561) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5279) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) at dalvik.system.NativeStart.main(Native Method)

Need Help, Thank, Dror.

praveen2gemini commented 10 years ago

I think It should be happened because of more and complex designed layout ! I'm also facing same issue in one layout ! If I'm reduced nested layouts, it's not crashing. ! But some other place I'm using same layout without any changes. but it's not crashing there ! I'm confused ! Any Good solution for this scenario ??

mitchell-johnson commented 10 years ago

I also have this issue. Only on android tablets running 4.0.

anistn commented 10 years ago

Hello,

I think that this issue is caused by Deep View hirarchy. The SlidingMenu Library use internally two container, so the Global View tree deep is increased.

You have to simplify your View hierarchy.

Could you please post your View sources code?

2014-05-22 6:28 GMT+01:00 Mitchell notifications@github.com:

I also have this issue. Only on android tablets running 4.0.

— Reply to this email directly or view it on GitHubhttps://github.com/jfeinstein10/SlidingMenu/issues/594#issuecomment-43849884 .