내가 이해 한 바로는 onDraw
메서드로 직접 호출을 수행 할 수 있으며 postInvalidate()
메서드는 별도의 스레드에서 onDraw
메서드를 호출하기 만하면됩니다. 내가 올바르게 이해한다면 (그리고 내가 잘못하면 저를 교정하십시오), 둘 다 똑같은 결과를 나타내는 것처럼 보입니다. postInvalidate()
과 onDraw
에 직접 전화가 다른가요? 하나는 다른 것보다 더 나은 관행인가?Android : postInvalidate()를 사용하거나 onDraw에 대한 직접 호출을 사용 하시겠습니까?
1
A
답변
2
예. postInvalidate를 호출하면 화면에 캔버스가 설정되고 onDraw 함수뿐만 아니라 다양한 다른 로직이 전달됩니다. 스크린이 아닌 다른 곳으로 뷰를 그리려면 onDraw를 호출하는 것이 좋습니다.
또한 postofficeate는 루퍼에게 제어가 반환 된 후 을 다시 그려야하며 여러 이유를 결합하여 단일 다시 그리기로 다시 그립니다. 그것은 즉시 그릴려고하지 않습니다. onDraw를 호출하면 즉시 그려지기 때문에 심각한 성능 문제가 발생할 수 있습니다. 그리기 요청을 일괄 처리하지 않으므로 여러 번 다시 그리게됩니다.
다른 것들이 있지만, 결과적으로 비표준 캔버스로 그리려하지 않는 한 onDraw를 직접 호출하지 마십시오. invalidate 또는 postInvalidate를 호출하십시오.
관련 문제
- 1. 분위기있는 API를 사용하거나 그리즐리를 직접 사용 하시겠습니까?
- 2. 컨트롤러에 대한 직접 호출을 차단하십시오.
- 3. CMS를 사용하거나 직접 작성하십시오.
- 4. 어느 것이 가장 좋습니다 - 내장 함수를 사용하거나 직접 작성 하시겠습니까?
- 5. 이벤트에 대한 직접 호출을 피하는 방법은 무엇입니까?
- 6. 오이 - api에 대한 직접 호출을 수행하십시오.
- 7. Android OpenGL ES - glTranslatef를 사용하거나 정점을 직접 업데이트하십시오.
- 8. iOS의 onDraw에 해당하는 항목
- 9. 사용하거나 사용 예를 들어, 프레임 워크에 대한
- 10. 하나의 큰 이미지를 배경으로 사용하거나 여러 이미지를 코르도바에서 사용 하시겠습니까?
- 11. 비공개 API "사용"을 직접 확인 하시겠습니까?
- 12. 이 경우 알고리즘을 사용하거나 코드를 직접 사용해야합니까?
- 13. MSBuild - .csproj 파일을 사용하거나 자신의 롤을 사용 하시겠습니까?
- 14. 사용하거나 사용 확인란이
- 15. android 서비스를 사용하거나 알람 관리자를 사용하십시오.
- 16. Wordpress 루프 만들기 - get_template_part를 사용하거나 함수를 사용 하시겠습니까?
- 17. 우리는 웹 서비스를 사용하거나 직접 데이터베이스 액세스를해야합니까?
- 18. Java collection sort()를 사용하거나 직접 구현해야합니까?
- 19. PHP에서는 기호를 직접 사용하거나 HTML 코드를 사용합니까?
- 20. Google지도 : Google 서버에서 직접 사용 하시겠습니까?
- 21. LINQ 생성 클래스를 직접 사용 하시겠습니까?
- 22. 변수를 직접 변경하거나 설정 함수를 사용 하시겠습니까?
- 23. webservice에 대한 호출을 다른 webservice로 전달 하시겠습니까?
- 24. Android Wear에서 직접 인터넷에 연결 하시겠습니까?
- 25. 상속 또는 구성을 사용하거나 다른 솔루션을 사용 하시겠습니까?
- 26. CodeIgniter에서보기 파일에 대한 직접 액세스를 제한 하시겠습니까?
- 27. Spring을 사용하거나 Spring에 의해 통합 된 별도의 프로젝트를 사용 하시겠습니까?
- 28. Movie Maker를 프로그래밍 방식으로 사용하거나 명령 줄에서 사용 하시겠습니까?
- 29. Clojurescript, Reagent : 원자를 입력으로 사용하거나 전역 변수로 사용 하시겠습니까?
- 30. Android XmlResourceParser를 편리하게 사용 하시겠습니까?