0

当我尝试打开一个 tabactivity 时,它在模拟器上运行良好,但在真实设备上却没有。清单文件中的 min 和 max sdk,如图所示

    android:minSdkVersion="8"

    android:targetSdkVersion="17"

我的设备是 4.1.1 版本的三星平板电脑

08-13 17:53:42.034: E/AndroidRuntime(22602): 致命异常: main

08-13 17:53:42.034: E/AndroidRuntime(22602): java.lang.StackOverflowError

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.content.res.Resources.obtainAttributes(Resources.java:1393)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:117)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 08-13 17:53:42.034: E/AndroidRuntime(22602): 在android.content.res.Resources.loadDrawable(Resources.java:1948)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.content.res.Resources.getDrawable(Resources.java:672)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818)

08-13 17:53:42.034: E/AndroidRuntime(22602): 在 android.content.res.Resources

4

1 回答 1

1

TabActivity在 API 13 中已被弃用,因此不能保证它在 Android 3.2 或更高版本上正常工作。考虑改用Fragments

当递归函数没有适当的基本情况时,通常会发生堆栈溢出错误。换句话说,递归函数将继续调用自己,从而将它的变量添加到堆栈中,直到堆栈空间用完。如果您使用任何递归函数,请确保您有适当的基本情况。如果您没有使用任何递归函数,则已弃用的 TabActivity 类中可能出现了问题。

于 2013-08-13T18:50:21.493 回答