본문 바로가기
Android/디버깅

[Android] 커스텀 뷰 invalidate 사용 시 주의 사항

by 붕어사랑 티스토리 2022. 8. 22.
반응형

안드로이드 커스텀뷰를 사용할 때 뷰를 re-rendering 하기 위해서는 invalidate 함수를 호출해야 한다.

허나 이때 주의사항이 있다. 반드시 메인스레드에서 호출해야 된다.

 

그러지 않을 경우 갑자기 메인스레드가 먹통이 된다. 별다른 로그도 없이 갑자기 퀙 하고 먹통이됨.

을 종료해도 죽지 않고 프로세스가 좀비마냥 살아있어  다시 실행도 안되고 해결하려면 adb로 kill 해주거나 reboot을 해야한다.

 

만약 다른 스레드에서 invalidate를 호출하고 싶으면 postInvalidate() 함수를 사용하면 된다.

 

-

반응형

댓글