2013-06-14 2 views
0

나는 응용 프로그램을 가지고. 그것은 on/off 버튼이 있습니다. "on"을 클릭하면 큰 알고리즘이 계산되고 10 초 후에 결과가 나타납니다. 알고리즘이 실행 중일 때 (10 초를 기다리지 않으려는 경우) "꺼짐"을 클릭하여 중지하지만 내 앱이 응답하지 않습니다. "꺼짐"버튼에 대한 onclick 이벤트도 처리하지 않습니다. 무엇을 할 수 있습니까 ??? 감사합니다.응용 프로그램을 중지하는 방법

+2

사용을 고려, 주 스레드에서 당신과 같은 동 HAVY 작업을 소리. 계산을 위해 AsyncTask 또는 새 스레드를 사용해야합니다. 이렇게하면 앱이 계속 책임 져야합니다. –

+0

먼저 10 초를 기다리지 않으려면 왜 그렇게 오래 실행해야합니까? 둘째로, 여기에 코드 일부를 게시하면 도움이 될 것입니다. 그러면 사용법과 구현 방법을 볼 수 있습니다. –

답변

0

멀티 스레딩을 사용해야한다고 생각합니다. 주 사용자 인터페이스 스레드는 항상 사용자의 요청에 응답 할 준비가되어 있어야하므로 1 초가 걸릴 수있는 작업은 수행하지 않는 것이 좋습니다. Android에서 멀티 스레딩을 수행하는 한 가지 방법은 AsyncTask을 사용하는 것이므로 사용을 권장합니다. 백그라운드에서 실행되는 큰 알고리즘으로, 사용자 인터페이스는 예를 들어, 중단 버튼. 그런 다음 백그라운드 작업을 프로그래밍하여 중단 요청 여부를 확인해야합니다.

2

코드없이 난 단지 추측 할 수 있지만, 당신은 아마 당신의 계산을위한 UI 스레드를 사용하고 AsyncTask

관련 문제