2010-11-26 4 views
21
W/ActivityManager( 81): Launch timeout has expired, giving up wake lock! 
W/ActivityManager( 81): Activity idle timeout for HistoryRecord 

누구에게 어떤 이유가 발생하는지 알고 있습니까? 감사합니다. .HistoryRecord에 대한 활동 유휴 시간 초과?

+0

최근에이 문제가 발생했습니다. Nexus One의 마지막 업데이트 이후에이 문제가 발생했을 가능성이 있습니까? – ggomeze

+0

일부 처리로 인해 메인 스레드를 차단하고있는 것 같지만 확실하지 않습니다. – shiami

답변

15

활동을 계속 완료하려고 시도 할 수 없으므로 활동을 표시 할 수 없습니다. 한편 ActivityManager는 시간 초과되었습니다.

동일한 문제가 있었는데 Activity 개체 간의 종속성을 정리하여 문제를 해결할 수있었습니다.

디버거를 시작하는 것이 좋습니다. 활동이 의존하는 '서비스'(예 : http 클라이언트, 파서 등)를보고 차단하지 않는지 확인합니다. Activity 객체간에 공유되는 '서비스'가있는 경우 GC가 WeakReference 객체로 캐시 된 정적으로 참조 된 서비스 객체 또는 객체를 GC가 파괴 할 수 있으므로 여전히 메모리에 있는지 확인하는 것이 좋습니다.

2

비슷한 문제가있었습니다.
내 View.dispatchDraw() 내부에서 다른 dispatchDraw()를 트리거 한 메서드를 호출하고있었습니다.
(내 dispatchDraw 내부 logline를 추가하면() 함수가 지속적으로 호출 된 것으로 나타났다. 이클립스 방법 프로파일 링을 수행 할 때이 표시되지 않았다)이 누군가에게 도움이

희망을.

관련 문제