Java StackOverflowerr Spannabestring是什么意思?
我知道这类错误存在一些问题,但我的错误只是随机发生的,我还没有找到导致它的原因。以下是错误日志:Java StackOverflowerr Spannabestring是什么意思?,java,android,stack-overflow,Java,Android,Stack Overflow,我知道这类错误存在一些问题,但我的错误只是随机发生的,我还没有找到导致它的原因。以下是错误日志: 11-02 16:41:58.448: E/AndroidRuntime(13702): FATAL EXCEPTION: main 11-02 16:41:58.448: E/AndroidRuntime(13702): java.lang.StackOverflowError 11-02 16:41:58.448: E/AndroidRuntime(13702): at android.t
11-02 16:41:58.448: E/AndroidRuntime(13702): FATAL EXCEPTION: main
11-02 16:41:58.448: E/AndroidRuntime(13702): java.lang.StackOverflowError
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.text.SpannableString.getSpans(SpannableString.java:25)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.text.TextUtils.writeToParcel(TextUtils.java:615)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.widget.TextView$SavedState.writeToParcel(TextView.java:8781)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeParcelable(Parcel.java:1254)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1173)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeSparseArray(Parcel.java:662)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1198)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.java:1170)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeMapInternal(Parcel.java:591)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Bundle.writeToParcel(Bundle.java:1646)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeBundle(Parcel.java:605)
11-02 16:41:58.448: E/AndroidRuntime(13702): at android.os.Parcel.writeValue(Parcel.
我的应用程序只有1个活动
,2个文本视图
,2个按钮
和1个编辑文本
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
onSaveInstanceState(newBundy);
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
onSaveInstanceState(newBundy);
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBundle("newBundy", newBundy);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
savedInstanceState.getBundle("newBundy");
}
我对上面的行进行了注释,现在没有崩溃,为什么这段代码会使它崩溃?您实际上不需要在
onConfigurationChanged
中保存实例,因为在这种情况下,您的活动不会被销毁和重新创建。如果您将包保存在onSaveInstanceState
中就足够了
配置更改后的
中的代码可以删除。您在writeMapInternal
、writeToParcel
、writeBundle
和writeValue
@jeroenvanevel之间存在循环依赖关系,我不这么认为。我注意到,当设备旋转几次,然后单击“主页”按钮时,会发生这种情况。我们需要查看代码。@Szymon看到编辑过的问题。还有一个问题:newBundy
中有什么?