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 回答