今日、私のプログラムはエミュレータと私の電話で異なる未知のエラーがあることがわかりました。私はそれについて何も考えていないので、誰も私にいくつかのヒントを与えることができますか?私のプログラムでなぜプログラムがエラーをスローするのですか?私がエミュレータで画面を向けるか、電話機をロック/ロック解除すると?
、それは次のコードが存在します。
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:プログラムが実行されている私の携帯電話に
それは私が自分の携帯電話を回転させていても正常に実行することができます。しかし、私が電話機をロックしてロックを解除すると、プログラムはエラーを投げます。このエラーについて、私はどのように追跡するのか分かりません。この問題はエミュレータでは表示されないためです。
誰でも私のヒントを教えてください。
についての良い答えがあり、あなたのlogcat出力と例外が発生したコードを投稿してください。デバッガをステップ実行するとどうなりますか? – Simon
エラーを確認しました。このエラーは、nullに変更されたブール値から発生します。方向の前には、値はtrueです。 – Perry
???あなたのお手伝いをする必要があります。なぜコードを投稿しないと、logcatはどのラインが問題であるかを教えてくれるでしょうか?私は推測することができますが、おそらくそれは役に立たないでしょう。私の推測では、あなたはonCreateでmDoDrawを初期化していません。 BTW。 Booleanを使用していない限り、ブール値をnullにすることは非常に困難です。 – Simon