При использовании Microsft Exchange Android активирует экран с паролем, который должен пройти пользователь при каждом включении устройства.
Я делаю игру, использующую SurfaceView, управляемую потоком. Я использую много статических переменных. Если устройство выключается во время игры, когда я возвращаюсь и ввожу пароль, игровой экран отображается, но с некоторыми растровыми изображениями неправильного размера и зависает.
В журналах я вижу сначала исключение NullPointerException с потоком, не связанным с пользовательским интерфейсом, а затем ошибку ANR. Похоже, что отключение устройства уничтожило некоторые объекты моего приложения, но оно не прошло onCreate и конструктор SurfaceView снова, когда он вернулся.
У меня нет проблем при приостановке игры с помощью телефонного звонка или нажатии кнопки ДОМОЙ. Также на двух других устройствах игра работает нормально после выключения и включения в середине игры, но у них нет экрана безопасности.
Я использую Galaxy Tab, OS 2.2
EDIT:
После печати в стеке трассировки я получаю
android.graphics.Canvas.throwIfRecycled
Кажется, что некоторые из моих растровых изображений были переработаны. Любая идея, как обнаружить это в onResume или в SurfaceChanged (), который всегда срабатывает при возвращении в приложение?