0

今日、私のプログラムには、エミュレーターと私の電話で異なる不明なエラーがあることがわかりました。まったくわからないので、どなたかヒントをいただけないでしょうか?

私のプログラムでは、次のコードが存在します。

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

ケース 1 : プログラムがエミュレーターで実行されている

画面の向きを変更するまでは、正常に実行できます。デバッグする必要がありました。オリエンテーション後に一部の値がnullに変更されたため、エラーがスローされることがわかりました。

以下はlogcatです:

04-25 22:04:35.378: W/dalvikvm(520): threadid=23: thread exiting with uncaught exception (group=0x4001aa28)

04-25 22:04:35.378: E/AndroidRuntime(520): Uncaught handler: thread Thread-15 exiting due to uncaught exception

04-25 22:04:35.388: E/AndroidRuntime(520): java.lang.NullPointerException

04-25 22:04:35.388: E/AndroidRuntime(520):  at com.mytest.testit.Maincore.logicGo(Maincore.java:244)

04-25 22:04:35.388: E/AndroidRuntime(520):  at com.mytest.testit.Maincore.run(Maincore.java:325)

04-25 22:04:35.388: E/AndroidRuntime(520):  at java.lang.Thread.run(Thread.java:1060)

04-25 22:04:35.398: I/dalvikvm(520): threadid=7: reacting to signal 3

04-25 22:04:35.418: I/dalvikvm(520): Wrote stack trace to '/data/anr/traces.txt'

ケース 2 : プログラムが自分の電話で実行されている

携帯電話を回転させても正常に動作します。しかし、電話をロックしてロックを解除すると、プログラムはエラーをスローします。このエラーについては、トレースする方法がわかりません。エミュレータではこの問題が発生しないためです。

誰かが私にヒントを与えることができますか?

4

1 に答える 1

0

デバイスを回転すると、アクティビティが再作成されます。保存したいデータは、onSaveInstanceState(); で保存する必要があります。

ここにそれについての良い答えがあります

于 2012-04-25T16:28:05.943 に答える