0

我有一个选项卡式应用程序,它使用活动组在同一选项卡下显示多个活动。该应用程序在 jellybean os 中运行良好,但在较低的设备中,它显示堆栈溢出错误。我还使用视图子类来覆盖 draw 方法,但没有任何帮助我的堆栈 tarce 如下

8-19 15:57:09.610: W/System.err(18799): java.lang.StackOverflowError
08-19 15:57:09.650: W/System.err(18799):    at android.widget.ImageView.getResolvedLayoutDirection(ImageView.java:200)
08-19 15:57:09.650: W/System.err(18799):    at android.graphics.drawable.Drawable.getResolvedLayoutDirectionSelf(Drawable.java:398)
08-19 15:57:09.670: W/System.err(18799):    at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:388)
08-19 15:57:09.670: W/System.err(18799):    at android.widget.ImageView.onDraw(ImageView.java:892)
08-19 15:57:09.681: W/System.err(18799):    at android.view.View.draw(View.java:10978)
08-19 15:57:09.699: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
08-19 15:57:09.699: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.710: W/System.err(18799):    at android.view.View.draw(View.java:10981)
08-19 15:57:09.720: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
08-19 15:57:09.739: W/System.err(18799):    at android.widget.ListView.drawChild(ListView.java:3223)
08-19 15:57:09.739: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.750: W/System.err(18799):    at android.widget.AbsListView.dispatchDraw(AbsListView.java:2092)
08-19 15:57:09.760: W/System.err(18799):    at android.widget.ListView.dispatchDraw(ListView.java:3218)
08-19 15:57:09.770: W/System.err(18799):    at android.view.View.draw(View.java:10981)
08-19 15:57:09.779: W/System.err(18799):    at android.widget.AbsListView.draw(AbsListView.java:3398)
08-19 15:57:09.790: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
08-19 15:57:09.800: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.812: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:09.820: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.832: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:09.840: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.851: W/System.err(18799):    at android.view.View.draw(View.java:10981)
08-19 15:57:09.860: W/System.err(18799):    at com.nitruc.mediastinger.InTheaterListView.draw(InTheaterListView.java:77)
08-19 15:57:09.869: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
08-19 15:57:09.880: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.890: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:09.900: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.909: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:09.920: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.930: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:09.949: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.949: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:09.963: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:09.982: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:09.982: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.000: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.000: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.010: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.021: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.039: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.039: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.060: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.060: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.079: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.079: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.100: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.100: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.119: W/System.err(18799):    at android.view.View.draw(View.java:10981)
08-19 15:57:10.132: W/System.err(18799):    at com.nitruc.mediastinger.MoviesView.draw(MoviesView.java:77)
08-19 15:57:10.140: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
08-19 15:57:10.150: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.159: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.169: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.180: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.190: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.209: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.230: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.240: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.249: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.260: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.270: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.289: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.300: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.322: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.322: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.341: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.370: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.380: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.380: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.400: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.420: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.430: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.473: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.480: W/System.err(18799):    at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
08-19 15:57:10.499: W/System.err(18799):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
08-19 15:57:10.520: W/System.err(18799):    at android.view.View.draw(View.java:10981)
08-19 15:57:10.539: W/System.err(18799):    at android.widget.FrameLayout.draw(FrameLayout.java:450)
08-19 15:57:10.550: W/System.err(18799):    at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2126)
08-19 15:57:10.570: W/System.err(18799):    at android.view.ViewRootImpl.draw(ViewRootImpl.java:2026)
08-19 15:57:10.590: W/System.err(18799):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
08-19 15:57:10.590: W/System.err(18799):    at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
08-19 15:57:10.622: W/System.err(18799):    at android.os.Handler.dispatchMessage(Handler.java:99)
08-19 15:57:10.622: W/System.err(18799):    at android.os.Looper.loop(Looper.java:137)
08-19 15:57:10.640: W/System.err(18799):    at android.app.ActivityThread.main(ActivityThread.java:4424)
08-19 15:57:10.659: W/System.err(18799):    at java.lang.reflect.Method.invokeNative(Native Method)
08-19 15:57:10.680: W/System.err(18799):    at java.lang.reflect.Method.invoke(Method.java:511)
08-19 15:57:10.680: W/System.err(18799):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-19 15:57:10.699: W/System.err(18799):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-19 15:57:10.699: W/System.err(18799):    at dalvik.system.NativeStart.main(Native Method)
4

1 回答 1

0

避免使用 ActivityGroup。

根据API 文档,它已被弃用,现在谷歌支持片段:

此类在 API 级别 13 中已弃用。请改用新的 Fragment 和 FragmentManager API;这些也可以通过 Android 兼容包在旧平台上使用。

片段在所有受支持的 API 上工作得更好,甚至更旧的 API(使用兼容库或第三方库,如 ActionBarSherlock)。

于 2013-08-19T12:42:28.900 回答