2011-08-17 4 views
0

를 중단됨 내 문제가 있습니다 가게에 들어가십시오. 내 앱은 스토어 입구마다 놀고있는 소리를 감지해야합니다.안드로이드 서비스 응용 프로그램이 여기에

그래서 항상 서비스 클래스를 확장하여 하나의 서비스를 만들었습니다. 서비스 클래스는 항상 계속 실행됩니다. 그리고 액티비티에서이 서비스를 별도의 스레드 을 생성하여 시작했습니다. 여기

내 문제 : 나는 그것이 잘 작동하고 난 여전히 UI와 다음 내 애플 교수형에 처해있어 거래와 내가 왔을 때 어떤 UI가 hanged.After 시간이없는 스레드에서 서비스를 시작

로그 cat의 ANR 오류.

어떻게이 문제를 해결할 수 있습니까?

스레드에서 satrting 서비스가 올바른 방법입니다 ..? 서비스를 시작하기위한 좋은 접근 방법입니다. 내 코드에서 ANR 오류를 어떻게 해결할 수 있습니까?

어느 누구도이 문제에 대해 도움을 줄 수 있습니까? 나는 많은 게시물을 보았지만 어느 누구도 나를 위해 일하지 않았다.

감사합니다.

답변

1

AsyncTask가 목적을 해결합니다. 반대로해야합니다. 메인 UI 스레드에서 서비스를 시작할 수도 있고, 지금 당신이 서비스에서하고있는 작업을 별도의 스레드에서 할 수 있습니다. 그리고 서비스에서 스레드를 시작할 수 있습니다.

그래서 - Activity -> Service -> Thread AsyncTask는 배경 스레드 일뿐입니다.

감사 Brijesh 답장을

+0

감사합니다. –

+0

안녕하세요 brijesh, 제 경우 : 저는 활동 -> 스레드 (서비스를 시작한 곳부터) -> 서비스 -> 스레드 (어디에서 funcionlaity를 무한히하고 있습니다)가 있습니다. 스레드가 무한히 실행되는 동안 앱 UI를 처리 할 수 ​​있습니다. 그러나 얼마 후 앱이 정지되었습니다. –

+0

먼저해야 할 일은 활동 -> 스레드 -> 서비스입니다. 스레드 부분을 제거하십시오. 나는 당신의 과정을 구할 나사가 필요 없다는 것을 알기 때문에. 다른 것은 ANR 스택 트랙을 붙여주십시오. 나는 ANR을 얻는 이유를보고 싶다. 감사합니다 –

관련 문제