반응형
안드로이드 커스텀뷰를 사용할 때 뷰를 re-rendering 하기 위해서는 invalidate 함수를 호출해야 한다.
허나 이때 주의사항이 있다. 반드시 메인스레드에서 호출해야 된다.
그러지 않을 경우 갑자기 메인스레드가 먹통이 된다. 별다른 로그도 없이 갑자기 퀙 하고 먹통이됨.
앱을 종료해도 죽지 않고 프로세스가 좀비마냥 살아있어 다시 실행도 안되고 해결하려면 adb로 kill 해주거나 reboot을 해야한다.
만약 다른 스레드에서 invalidate를 호출하고 싶으면 postInvalidate() 함수를 사용하면 된다.
-
반응형
'Android > 디버깅' 카테고리의 다른 글
[Android] 앱에서 스크린 캡쳐 막기, recent app 썸네일 가리기 (0) | 2022.07.12 |
---|---|
[Android] RecyclerView 데이터 꼬일 때 (0) | 2022.06.28 |
[Android] Room DB 에서 query함수 동작 안할 때 (0) | 2022.06.24 |
[Android] AlertDialog에서 showSoftInput 동작 안할 때 (0) | 2022.06.23 |
Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager (0) | 2022.04.13 |
댓글