Program Club

postInvalidate ()는 무엇을합니까?

proclub 2020. 11. 26. 20:09
반응형

postInvalidate ()는 무엇을합니까?


postInvalidate()Android 에서 기능 사용은 무엇입니까 ? 나는이 기능을 많은 곳에서보고있다. Google 검색을했을 때 다음과 같이 많이 나왔습니다.

postInvalidate-- UI 스레드에 무효화 요청 게시

"무효화 요청"이라는 말이 무슨 뜻인지 모르겠습니다. 누군가 여기서 무슨 일이 일어나고 있는지 자세히 설명 할 수 있습니까?


View 클래스에서 파생 된 각 클래스에는 invalidatepostInvalidate 메서드가 있습니다. invalidate가 호출되면 현재 뷰가 변경되었음을 시스템에 알리며 가능한 한 빨리 다시 그려야합니다. 이 메서드는 UIThread에서만 호출 할 수 있으므로 UIThread에 있지 않고 뷰가 변경되었음을 시스템에 알리고 자 할 때 다른 메서드가 필요합니다. postInvalidate 메소드는 비 UIThread에서 시스템에 알리고 가능한 한 빨리 UIThread의 다음 이벤트 루프에서 View가 다시 그려집니다. 또한 SDK 문서에 간략하게 설명 되어 있습니다.

invalidatepostInvalidate를 비교하십시오 .


이 메서드 ( postInvalidate())를 사용하면 ViewUI가 아닌 스레드에서를 무효화 할 수 있습니다 . ViewUI 스레드 사용 invalidate()방법 을 무효화하려면 .

무효화는 View.onDraw(Canvas)메서드가 (즉시가 아닌) 미래의 어느 시점에 호출되어 전체 View( View가 보이는 경우 )를 다시 그릴 것임을 의미 합니다.

Android는 Views를 자동으로 View다시 그리지 만 때때로 "이것이 변경되었습니다. 최대한 빨리 다시 그리세요 ."라고 말할 필요가 있습니다.

더보기 :

http://developer.android.com/guide/topics/ui/how-android-draws.html

http://developer.android.com/reference/android/view/View.html#invalidate%28%29


간단히 말해서, invalidate()메소드는 UI 스레드에서 호출 할 수 있으며 , postInvalidate()일부 변경이 이루어진 후 Android에 사용자 정의 뷰를 업데이트하도록 지시하기 위해 비 UI 스레드에서 호출 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/5521596/what-does-postinvalidate-do

반응형