2つの異なるパッケージに同じ名前の2つのアクティビティがあります。 1つは別のクラスのサブクラスです。私はデバイスに応じて、2つの異なるテーマを使用するためにこれを行います。 (大画面のデバイスではTheme.Dialogを使用し、他のクラスでは定期的に使用します。)継承されたクラスは、onCreate
をオーバーライドしてsuperメソッドを呼び出し、いくつかのウィンドウフラグを設定します。Activity.onCreateのStackOverflowError
これは私のすべてのデバイスでうまく動作しますが、私は非常に奇妙なクラッシュレポートをいくつか取得します。
java.lang.StackOverflowError
at *****.activities.Register.onCreate(SourceFile)
at *****.tablet.Register.onCreateRegister(SourceFile)
(a lot of repeats)
at *****.activities.Register.onCreate(SourceFile)
at *****.tablet.Register.onCreateRegister(SourceFile)
at *****.activities.Register.onCreate(SourceFile)
at *****.tablet.Register.onCreateRegister(SourceFile)
at *****.tablet.Register.onCreate(SourceFile)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
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:850)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
at dalvik.system.NativeStart.main(Native Method)
私はので、私はそれが内部名だと仮定し、私はわからないonCreateRegister
を作成しませんでした。 ProGuardを使用しますが、再帰呼び出しが自分のコードである場合は、行番号が表示されるはずです。
私のデバイスでそれを複製することはできません。すでにテストしたモデルと同じモデルからでもこのレポートを受け取ることができるため、デバイス固有の問題ではないでしょう。
これがなぜ起こっているのか誰にも分かりませんが、これを処理するにはより良い方法がありますか?