1

我在 Google Play 上有一个 android 应用程序,偶尔会通过开发者控制台/ACRA 报告以下错误。该应用程序在我的测试设备和我测试它的各种 AVD 上运行良好。

堆栈跟踪没有说明问题出在应用程序的哪个位置。我能做些什么来缩小查看范围吗?一般是什么原因导致错误?

    java.lang.IndexOutOfBoundsException
        at android.graphics.Paint.native_measureText(Native Method)
        at android.graphics.Paint.measureText(Paint.java:1020)
        at android.graphics.Paint.measureText(Paint.java:1057)
        at android.text.Styled.drawDirectionalRun(Styled.java:267)
        at android.text.Styled.measureText(Styled.java:430)
        at android.text.Layout.measureText(Layout.java:1518)
        at android.text.Layout.getHorizontal(Layout.java:564)
        at android.text.Layout.getHorizontal(Layout.java:548)
        at android.text.Layout.getPrimaryHorizontal(Layout.java:533)
        at android.widget.TextView$QuickAction.getBound(TextView.java:9550)
        at android.widget.TextView$QuickAction.show(TextView.java:9604)
        at android.widget.TextView$QuickActionController.show(TextView.java:8846)
        at android.widget.TextView.performLongClick(TextView.java:8033)
        at android.view.View$CheckForLongPress.run(View.java:9096)
        at android.os.Handler.handleCallback(Handler.java:587)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:130)
        at android.app.ActivityThread.main(ActivityThread.java:3701)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:507)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller
        .run(ZygoteInit.java:895) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:653)
        at dalvik.system.NativeStart.main(Native Method)
4

1 回答 1

1

从这个角度来看,您的应用程序初始化块中存在竞争。在发出平局之前,您的文本资源之一可能没有完全膨胀。(我知道,android 运行时的模型应该防止这种情况发生,但是如果在计算布局时发生这种情况,那将是合理的)。

希望这对缩小范围有所帮助。

于 2014-12-02T11:18:26.373 回答