close
  • 홈
  • :
  • 위치로그
  • :
  • 태그
  • :
  • 방명록
  • :
  • 관리자
  • :
  • 새글쓰기
블로그 이미지

이슬나라 [isulnara.com]
프로그램 관련 문의...
전체 (208)
자작 프로그램 (24)
EzIP (3)
IEPageSetup (3)
iSysInfoX (2)
메신저 알림이 (1)
ezSVC (1)
WebFTP (2)
iDebugX (1)
기타 (10)
버그 신고 (1)
이것저것.. (55)
WebFTP 게시판 (0)
팁 모음 (77)
linux (21)
프로그래밍 (36)
윈도우 (5)
네크워크 (7)
기타 (7)
윈도우 숨은.. (4)
터미널 서비스.. (1)
공개 웹하드 (1)
관리자 (0)
PC 원격제어.. (1)
NAS (43)
«   2012/05   »
일 월 화 수 목 금 토
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
DDNS MyEclipse putty ftp 선풍기 제어 pascal SFTP 로딩 에뮬레이터 공유기 REFERENCE_TIME 부팅 이미지 bin sed nas 3rd party package awk TCP Wraper rsync nProtect Indy 스플래시 backup 병돌리기 플래시 안드로이드 dsm 3.0 max_allowed_packet ds-101g+ 다운로드스테이션
[ezLink] 동시 접속수...
ezLink 1.2.1.2 정식... (5)
MD5 CRC 체크섬.
Apache, Subversion...
CentOS에 MongoDB 설치.
안녕하세요.. 알려주신...
isul / 05/15
너무 좋은 프로그램 잘...
김진수 / 05/12
직접 해결하셨네요.. 다...
isul / 05/01
var winOpen = window.op...
Mulgom / 04/30
이슬님 덕에 무난하게 출...
Mulgom / 04/30
black hat software.
black hat software / 04/25
일반 어플리케이션을 서...
ㅇㅇ/ / 2009
사이코웨어 : nProtect,...
√ MIRiyA's AstraLog / 2008
웹페이지에서 인쇄시 머...
醉生夢死™ / 2006
웹페이지에서 MAC Addres...
날자~!! 날어~!! / 2005
 최근글 목록
 2011/11 [2]
 2011/10 [3]
 2011/09 [1]
 2011/07 [3]
 2011/06 [1]
넷하드 - NAS 카페
무료 원격제어 프로그램
블로그가 뭥미?
솔라리스 테크넷
스티브 맥코넬
시놀로지 NAS 카페
하얀나무 - 캠핑 전문 쇼핑몰
하얀나무's Story
Total of
482288 visitors
Today 3
Yesterday 119
 
글검색결과[SurfaceView] : 1
2011/04/29  [android] Activity idle timeout for HistoryRecord 에러 발생 시
     
 팁 모음/프로그래밍 
[android] Activity idle timeout for HistoryRecord 에러 발생 시
Posted on 2011/04/29 01:38
 
 
 
 
SurfaceView를 상속한 뷰 클래스를 하나 만들어 액티비티를 띄울 경우 아래와 같은 에러가 발생하면서
뷰가 표시되지 않고, 까만 화면만 표시되다 에러가 발생하는 경우
WARN/ActivityManager(374): Launch timeout has expired, giving up wake lock!
WARN/ActivityManager(374): Activity idle timeout for HistoryRecord{4776baf0 com.isulnara.game/.GameMain}

◆ 원인

-> SurfaceView를 상속한 뷰 내부의 쓰레드(Thread)에서 LOCK이 걸려서 발생함.

SurfaceView를 상속한 뷰 내부의 코드 중 아래처럼 synchronized를 사용하고
synchronized (holder)
{
...
}

액티비티 또는 쓰레드 내부에서 동시에 synchronized를 사용한 특정 메소드에 접근할 경우
LOCK이 걸려서 무한대기하다 에러를 발생시키는 것으로 확인했음..


◆ 해결방법

1. LOCK 발생 시키는 상황을 만들지 않도록 코딩
2. 동기화가 필요없을 경우 synchronized 블럭 제거
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
이올린에 북마크하기
Andorid, HistoryRecord, SurfaceView, Thread, 안드로이드
Trackback [0] : Comment [0]
TrackbackAddress
http://isulnara.com/tt/trackback/242
SecretComment
  1