Programing

메인 스레드는 UI 스레드와 동일합니까?

crosscheck 2020. 12. 8. 07:45
반응형

메인 스레드는 UI 스레드와 동일합니까?


Android 문서에는 "활동 및 기타 구성 요소와 마찬가지로 서비스가 애플리케이션 프로세스의 기본 스레드에서 실행됩니다."라고 말합니다.

여기서 메인 스레드는 UI 스레드와 동일한가요?


그런 것 같습니다. http://android-developers.blogspot.com/2009/05/painless-threading.html 에서 인용 : "애플리케이션이 시작되면 시스템은 애플리케이션에 대해"main "이라는 스레드를 생성합니다. 메인 스레드는 the UI thread ... ", 공식 API 문서.


UI 스레드메인 스레드Android 에서만 동일합니다 .

메인 스레드 취급에 대한 책임, UI 이벤트 그리기 등, 듣고 수신 UI 이벤트를 .

Ans는 또한 속한 해당 애플리케이션에 대한 UI 툴킷실행중인 구성 요소 와 상호 작용하는 역할을 합니다.

응용 프로그램에서 User 이벤트가 발생하면 Main 스레드 *

큐에 이벤트를 추가해야 함-> 이벤트에 대해 적절한보기에 추가->보기의 상태 변경-> 상태 변경에 따라보기 다시 그리기-> 특정 이벤트 조치에 대한 응답 대기-> 예상 후 완료된 이벤트 작업은 대기열에서 이벤트를 삭제해야합니다.

*

위의 모든 작업은 Main 스레드에서 처리 합니다 (위의 작업뿐만 아니라 UI Thread에서 처리하는 작업 중 하나입니다 ). 따라서 애플리케이션이 약 5 초 동안 이벤트에 응답하지 못하면 android는 "not 응답 " .

따라서 UI 스레드 에서 가벼운 프로세스를 수행하는 것이 널리 제안됩니다 .

이 답변이 나 같은 새로운 안드로이드 꿀벌에게 다소 상세하고 도움이되기를 바랍니다. 방금 UI 스레드에 대해 배운 내용을 공유했습니다. 내가 어디에서든 잘못 되었다면 주저하지 말고 다시 수정하십시오.


"주 응용 프로그램 스레드"는 "UI 스레드"라고도합니다.


기본적으로 메인 스레드는 Ui 스레드입니다.
그러나 때때로 그들은 다른 자국이 될 수 있습니다!
서로 다른 스레드에서 여러보기가있는 시스템 앱이 가능합니다.
또한 지원 주석을 사용하는 경우 @MainThread둘 다 동시에 @UiThread사용할 수 있습니다.
여기서 첫 번째는 앱 수명주기와 관련된 메서드와 뷰 계층을 담당하는 두 번째 메서드에 주석을 달았습니다.
https://developer.android.com/studio/write/annotations.html


모든 활동에는 자체 UI 스레드가 있습니다. VM이 부팅 되 자마자 Zygote가 System Server를 시작합니다. Activity Manager Service와 같은 다른 모든 서비스는 System Server에 의해 새 스레드에서 시작됩니다.


예. 메인 스레드는 UI 스레드입니다.

Android의 백그라운드 처리에 대한 자세한 내용은 이 튜토리얼참조하십시오.

참고 URL : https://stackoverflow.com/questions/3261370/is-main-thread-the-same-as-ui-thread

반응형