2012-10-30 3 views
0

Android의 경우 서비스와 비교하여 CPU 사용에 유리한 기본 스레드입니까? 그렇다면 특정 기간 동안 CPU의 완벽한 제어 기능을 안드로이드 서비스에 제공 할 수 있습니까? 아니면 일반적으로 다른 우선 순위를 부여합니까?Android 서비스 및 메인 스레드 CPU 사용량

답변

1

귀하의 질문이 db 액세스 문제와 관련된 경우 문제가있는 곳이므로 db 액세스 패턴을 다시 방문해야합니다. 그렇지 않으면 우선 순위와 프로세서 친화력 및 서비스와 모든 것들을 가지고 놀고 시스템을 응답하지 않게 만들고 결과적으로 한 시간 만에 배터리를 먹어 버리고 DB 액세스 문제가 발생합니다.

db에 대한 지속적인 RW 액세스가 필요한 서비스가 있고 다른 곳에서 동일한 db를 열려고하면 가장 실패합니다. 따라서 onClick()에있는 db에 액세스하지 말고 db에 액세스하지 않고 버튼을 클릭하면 필요한 데이터를 준비하고로드 할 수 있도록 저장하십시오.

죄송합니다. 사용하는 데이터의 종류와 처리 방법에 대한 세부 정보를 설명하지 않으면 자세히 알려 드릴 수 없습니다.

+0

고맙지 만 내 단추의 이름은 "데이터베이스 재설정"이므로이 사용을 피할 수는 없습니다. – GVillani82

+0

서비스를 중지하면 주 스레드 코드가 완료 될 때까지 서비스가 중단되지 않습니다. – GVillani82

+1

if 버튼이 "reset db"인 경우 서비스를 호출하여 리셋을 수행하십시오. DB를 바쁘게 업데이트하지 않을 때 서비스에서 이러한 재설정 요청을 확인할 수 있습니다. – lenik