Microsft Exchange를 사용하면 장치를 켤 때마다 사용자가 암호를 화면에 표시해야합니다.장치의 암호 화면을 사용할 때 게임이 충돌합니다
스레드로 실행되는 SurfaceView를 사용하는 게임을 만들고 있습니다. 나는 많은 정적 변수를 사용하고있다. 게임 도중 장치가 꺼져 있고 암호를 입력하면 게임 화면이 표시되지만 일부 비트 맵의 크기가 잘못되어 멈췄습니다.
로그에서 처음에는 UI가 아닌 스레드에서 NullPointerException이 표시되고 나중에 ANR 오류가 표시됩니다. 장치를 끄면 내 응용 프로그램의 일부 개체가 파괴 된 것처럼 보이지만 아직 돌아 왔을 때 다시 onCreate 및 SurfaceView 생성자를 통과하지 못했습니다.
전화 통화 또는 홈 버튼을 눌러 게임을 일시 중지해도 아무런 문제가 없습니다. 또한 두 개의 다른 장치에서 게임은 게임 도중에 켜거나 껐다가 잘 작동하지만 보안 화면이 없습니다. 나는 갤럭시 탭을 사용하고
, OS 2.2
편집 :
을 android.graphics.Canvas.throwIfRecycled 스레드의 스택 트레이스를 인쇄, 내가 얻을 후
일부 비트 맵이 재활용 된 것 같습니다. onResume 또는 surfaceChanged()에서이를 감지하는 방법에 대한 아이디어가 있습니까?
스택 추적이 실제로 도움이됩니다. 전원을 켤 때 게임이 다시 시작됩니까? db/file/preferences에 대한 데이터를 유지하고 있습니까? –
로그에서 무엇을 얻을 수 있는지 알려주십시오. –