5

我收到了少量 Crittercism 崩溃报告,其堆栈跟踪类似于下面的堆栈跟踪。崩溃并非源自我的代码。

此论坛帖子表明这可能是由于 TextView 的自定义 OEM 实现中的错误:
https ://groups.google.com/forum/?fromgroups=#!topic/android-developers/_53F4WBM8-I

任何人都可以确认是否是这种情况?即使很少有用户受到影响,我也很想知道是否有修复/解决方法?

到目前为止,我的崩溃报告显示这些设备受到影响:

  • OS 2.3.6 上的阿尔卡特 ONE TOUCH 903
  • OS 2.3.6 上的阿尔卡特 ONE TOUCH 918D
  • OS 2.3.6 上的阿尔卡特 ONE TOUCH 991D
  • OS 2.3.5 上的鹦鹉
  • 操作系统 2.3.4 上的 A102S_MULA
  • 操作系统 2.3.5 上的 T9199+
  • 操作系统 2.3.6 上的三叉戟 A7

的堆栈跟踪StringIndexOutOfBoundsException

java.lang.StringIndexOutOfBoundsException
at  java.lang.String.getChars(String.java:1059)
at  android.text.SpannableStringInternal.getChars(SpannableStringInternal.java:102)
at  android.text.TextUtils.getChars(TextUtils.java:101)
at  android.text.Layout.processToSupportEmoji(Layout.java:3752)
at  android.text.Layout.supportTabandEmoji(Layout.java:3790)
at  android.text.Layout.measureText2(Layout.java:3148)
at  android.text.Layout.getDesiredWidth2(Layout.java:183)
at  android.text.Layout.getDesiredWidth2(Layout.java:161)
at  android.widget.TextView.onMeasure2(TextView.java:5950)
at  android.widget.TextView.onMeasure(TextView.java:6163)
at  android.view.View.measure(View.java:8396)
at  android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:612)
at  android.widget.RelativeLayout.onMeasure(RelativeLayout.java:396)
at  android.view.View.measure(View.java:8396)
at  android.widget.ListView.setupChild(ListView.java:1862)
at  android.widget.ListView.makeAndAddView(ListView.java:1789)
at  android.widget.ListView.fillDown(ListView.java:705)
at  android.widget.ListView.fillFromTop(ListView.java:762)
at  android.widget.ListView.layoutChildren(ListView.java:1625)
at  android.widget.AbsListView.onLayout(AbsListView.java:1299)
at  android.view.View.layout(View.java:7225)
at  android.widget.FrameLayout.onLayout(FrameLayout.java:369)
at  android.view.View.layout(View.java:7225)
at  android.widget.FrameLayout.onLayout(FrameLayout.java:369)
at  android.view.View.layout(View.java:7225)
at  android.support.v4.view.ViewPager.onLayout(ViewPager.java:1520)
at  android.view.View.layout(View.java:7225)
at  android.widget.LinearLayout.setChildFrame(LinearLayout.java:1285)
at  android.widget.LinearLayout.layoutVertical(LinearLayout.java:1161)
at  android.widget.LinearLayout.onLayout(LinearLayout.java:1078)
at  android.view.View.layout(View.java:7225)
at  android.widget.FrameLayout.onLayout(FrameLayout.java:369)
at  android.view.View.layout(View.java:7225)
at  android.widget.RelativeLayout.onLayout(RelativeLayout.java:943)
at  android.view.View.layout(View.java:7225)
at  android.widget.FrameLayout.onLayout(FrameLayout.java:369)
at  android.view.View.layout(View.java:7225)
at  android.widget.LinearLayout.setChildFrame(LinearLayout.java:1285)
at  android.widget.LinearLayout.layoutVertical(LinearLayout.java:1161)
at  android.widget.LinearLayout.onLayout(LinearLayout.java:1078)
at  android.view.View.layout(View.java:7225)
at  android.widget.FrameLayout.onLayout(FrameLayout.java:369)
at  android.view.View.layout(View.java:7225)
at  android.view.ViewRoot.performTraversals(ViewRoot.java:1189)
at  android.view.ViewRoot.handleMessage(ViewRoot.java:1914)
at  android.os.Handler.dispatchMessage(Handler.java:130)
at  android.os.Looper.loop(SourceFile:351)
at  android.app.ActivityThread.main(ActivityThread.java:3833)
at  java.lang.reflect.Method.invokeNative(Native Method)
at  java.lang.reflect.Method.invoke(Method.java:538)
at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at  com.android.internal.os.ZygoteInit.main(ZygoteInit.java:659)
at  dalvik.system.NativeStart.main(Native Method)

这是IndexOutOfBoundsException

java.lang.IndexOutOfBoundsException: getChars (6 ... 8) ends beyond length 7
at  android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1104)
at  android.text.SpannableStringBuilder.getChars(SpannableStringBuilder.java:1008)
at  android.text.TextUtils.getChars(TextUtils.java:101)
at  android.text.Layout.processToSupportEmoji(Layout.java:3752)
at  android.text.Layout.supportTabandEmoji(Layout.java:3790)
at  android.text.StaticLayout.generate2(StaticLayout.java:722)
at  android.text.DynamicLayout.reflow(DynamicLayout.java:404)
at  android.text.DynamicLayout.access$000(DynamicLayout.java:70)
at  android.text.DynamicLayout$ChangeWatcher.reflow(DynamicLayout.java:592)
at  android.text.DynamicLayout$ChangeWatcher.onTextChanged(DynamicLayout.java:604)
at  android.text.SpannableStringBuilder.sendTextChange(SpannableStringBuilder.java:1050)
at  android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:470)
at  android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:387)
at  android.text.SpannableStringBuilder.replaceInternal(SpannableStringBuilder.java:593)
at  android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:542)
at  android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:527)
at  android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:67)
at  android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:701)
at  android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:227)
at  com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:153)
at  com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:304)
at  com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:106)
at  android.os.Handler.dispatchMessage(Handler.java:130)
at  android.os.Looper.loop(SourceFile:351)
at  android.app.ActivityThread.main(ActivityThread.java:3833)
at  java.lang.reflect.Method.invokeNative(Native Method)
at  java.lang.reflect.Method.invoke(Method.java:538)
at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at  com.android.internal.os.ZygoteInit.main(ZygoteInit.java:659)
at  dalvik.system.NativeStart.main(Native Method)
4

0 回答 0