이제 Android 용으로 개발이 시작되었습니다. SurfaceView를 사용하여 간단한 모양을 그리는 응용 프로그램을 만들려고했지만 메뉴 이벤트 (표면이 항상 유효하지 않음)를 기반으로 작동하지 못하게하여 스레드를 구현하기로 결정했습니다. 이제 문제는 길잃은 스레드가 실행되는 것을 막을 수 없다는 것입니다. 디버그 모드에서 응용 프로그램을 시작한 다음 스레드를 시작하는 메뉴 항목을 선택했습니다. 그런 다음 에뮬레이터의 인터페이스에서 뒤로 버튼을 눌러 응용 프로그램에서 빠져 나옵니다. 그러나 스레드의 내 중단 점은 계속 충돌합니다. 그래서 에뮬레이터의 응용 프로그램 목록에서 해당 응용 프로그램을 클릭하여 응용 프로그램으로 돌아가서 스레드를 중지하는 명령을 선택했습니다. 그러나 스레드가 실행 중임을 감지하지 못했습니다. 다른 응용 프로그램 인스턴스와 같습니다.안드로이드 응용 프로그램의 길잃은 스레드
"내 안드로이드 응용 프로그램에서 스레드의 종료를 가장 안정적으로 처리하는 방법은 무엇입니까?"라는 주요 질문에 많은 미묘한 질문이 있습니다.
- 원본 인스턴스에 액세스 할 수 있습니까?
- 다시 들어가면 원래 인스턴스를 가져야합니까?
- 디버거를 시작하는 대신 응용 프로그램 메뉴에서 선택하면 원래 인스턴스 가시성에 영향을 줍니까?
- 액티비티/애플리케이션을 종료 할 수 있습니까?해야합니까?
- 디버거 (Eclipse)가 전체 장치를 재설정하지 않고 어떻게 든 멈출 수 있습니까?
- 메뉴 이벤트 중에 컨텍스트를 잠그려고하지 않고 SurfaceView에 스레드가 필요합니까?
나는 Close application and launch home screen on Android을 보았지만 응용 프로그램을 종료해서는 안되므로 무엇을해야할지 모르겠다.
그렇다면 안드로이드 SDK와 함께 제공되는 예제는 나쁘지 않습니까? Lunar Lander 샘플을보고 있는데, SurfaceView가있는 간단한 스레드를 사용합니다. – BlueMonkMN
http://developer.android.com/resources/articles/painless-threading.html 아마도 체크 아웃하려는 것입니다. –
소개 단락에 따르면이 기사는 UI와 상호 작용하는 긴 작업자 스레드를 다루는 반면 ThreadView에 그래픽을 그리는 방법을 알아 내려고했지만 스레드는 사용하지 않는 것으로 생각됩니다. , 그리고 UI 상호 작용을 고려하지 않을 것입니다. 머리카락을 나눠 줘요? – BlueMonkMN