“Что-то не так здесь, не ожидал, что ПАКЕТ будет возобновлен” ошибка в android Logcat

Мне смоделировали приложение для Android после LunarLander пример Google. Я отлаживаю его на физическом устройстве, (Motorola Droid) с Android 2.0. Когда ориентация изменяется, катастрофические отказы программы на a NullPointerException. Logcat от непосредственно перед катастрофическим отказом:

02-01 00:24:27.956: DEBUG/nate(8358): Starting Game
02-01 00:24:36.878: DEBUG/dalvikvm(1086): GC freed 1788 objects / 92256 bytes in 1389ms
02-01 00:24:38.542: INFO/WindowManager(1021): Setting rotation to 1, animFlags=0
02-01 00:24:38.558: INFO/ActivityManager(1021): Config changed: { scale=1.0 imsi=310/4 loc=en_US touch=3 keys=2/1/2 nav=2/2 orien=2 layout=34}
02-01 00:24:38.620: WARN/UsageStats(1021): Something wrong here, didnt expect org.nifong.leeder to be resumed
02-01 00:24:38.886: DEBUG/nate(8358): New Surface dimensions: 854x442
02-01 00:24:38.886: DEBUG/nate(8358): flies was null

Первая строка, которая волнует меня, "Something wrong here" в 24:38.620. Я понятия не имею, что это означает, но я думаю его должное мне не реагирующий правильно на экранное изменение.

Затем я получаю сообщение отладки, которое я распечатал сам из моего собственного метода surfaceChanged() о новых поверхностных размерах.

Затем я распечатываю сообщение отладки о том, были ли мухи null. flies поле, которое в конечном счете вызывает NullPointerException. Ее созданный однажды, и никогда писавшийся в снова для остальной части программы. Я знаю, что это не было пустым перед катастрофическим отказом, потому что это несколько раз читалось.

У кого-либо есть подсказка, как моя переменная члена парламента, не занимающего официального поста стала пустой только этими подсказками?

Я включал бы код, но существует многое из него, и я не знаю то, что было бы релевантно.

5
задан Luksprog 18 April 2012 в 09:31
поделиться

2 ответа

Я исправил это, добавив эти две строки к тегу активности в моем файле-манифесте

android:configChanges="keyboardHidden|orientation"
android:screenOrientation="landscape"

это говорит о том, что мое приложение будет самостоятельно обрабатывать изменения клавиатуры и ориентации (ничего не делая) и предпочитает постоянно работать в альбомном режиме.

2
ответ дан 14 December 2019 в 19:12
поделиться

Изменения ориентации в Android влияют на состояние. В основном, ваша деятельность уничтожена и воссоздана. Поэтому вы должны знать, какие события жизненного цикла Android будут вызываться и как сохранить состояние.

Также необходимо быть осторожным в отношении статических экземпляров и того, как это влияет на этот жизненный цикл.

Вот запись в блоге , объясняющая это.

3
ответ дан 14 December 2019 в 19:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: