Android/디버깅
[Android] 커스텀 뷰 invalidate 사용 시 주의 사항
붕어사랑 티스토리
2022. 8. 22. 13:19
반응형
안드로이드 커스텀뷰를 사용할 때 뷰를 re-rendering 하기 위해서는 invalidate 함수를 호출해야 한다.
허나 이때 주의사항이 있다. 반드시 메인스레드에서 호출해야 된다.
그러지 않을 경우 갑자기 메인스레드가 먹통이 된다. 별다른 로그도 없이 갑자기 퀙 하고 먹통이됨.
앱을 종료해도 죽지 않고 프로세스가 좀비마냥 살아있어 다시 실행도 안되고 해결하려면 adb로 kill 해주거나 reboot을 해야한다.
만약 다른 스레드에서 invalidate를 호출하고 싶으면 postInvalidate() 함수를 사용하면 된다.
-
반응형