그런 다음 아들러 세션에서 모든 프로세스의 시작을 분석했습니다.
시작 과정에는 크게 세 가지가 있었습니다.
그 중 하나는 프로세스 옆에 생성하는 것이었습니다.
맞습니다.
그렇다면 Sago 프로세스는 정확히 무엇이며 어떤 역할을 할까요?
이 세션에서는 Sago와 그 시작 프로세스에 대해 설명합니다.
또한 코드를 살펴보고 Sago가 어떻게 시스템을 잘 쌓아 올리는지, 활동
관리 서비스가 요청할 때 새 프로세스를 시작하는 방법도 살펴볼 것입니다.
이전 강의에서 우리는 치유 과정에 대해 논의했으며
, 접합체 과정이 어떻게 시작되는지 살펴봤습니다.
제품 코드도 설명하죠? 이 세션에서는 바로 거기서부터
시작하여 EGOT 프로세스를 계속 진행하겠습니다.
자이고트가 어떻게 시스템을 시작하고 활동 관리 서비스의
요청을 기다리거나 새 프로세스를 만드는지 살펴보겠습니다.
안드로이드에서는 안드로이드 런타임 또는 Dalvik 가상 머신, 애플리케이션 프로세스, 시스
템의 주요 부분을 실행하는 시스템 서버 프로세스가 모두 접합체 프로세스에 의해 생성됩니다.
애플리케이션 프로세스와 시스템 서버는 두 가지 메커니즘을 모두 사용하여 프로세스를 진행합니다.
따라서 두 메커니즘 모두 호출되는 기존 프로세스를 복제하여
새 프로세스를 생성하는 것 외에는 아무 의미가 없습니다.
따라서 접합체 프로세스가 시작될 때 가상 미션 또는 안드로이드 런타임을 생성하므
로, 이 형식으로 생성된 애플리케이션 프로세스와 시스템 프로세스가 합산되어 내부
적으로 안드로이드 런타임 인스턴스의 복사본을 자동으로 업데이트할 수 있습니다.
이제 코드를 살펴보고 자이고트가 어떻게 시작되는지, 시작 시스템 사이드바를 호
출하는 방법과 결제 또는 활동 관리 서비스를 기다리는 방법을 살펴보겠습니다.
그러니 흙이 필요합니다.
좋은 64 오디세이.
이전 세션에서 이 파일럿을 살펴본 적이 있습니다.
따라서 이 파일은 기본적으로 접합체 프로세스를 위한 설정입니다.
앞서 말했듯이 매우 간단한 언어이며 몇 가지 명령어와 가져오기 문이 있습니다.
이 파일에서 이 프로세스를 통해 zygote라는 이름의 서비스를 생성하라는 내용을 볼 수 있습니다.
따라서 이것은 기본적으로 실행해야 하는 프로그램입니다.
그리고 나중에 몇 가지 매개 변수를 전달합니다.
여기에는 시작 시스템, 일종의 매개 변수, 그 다음 접합체 매개 변수가 있습니다.
그래서 우리는 경로를 보내고 있습니다.
두 번째 줄은 문 클래스메이트입니다.
즉, 이 특정 프로그램 또는 접합체의 이름이 비열하다는 것입니다.
따라서 접합체 또는 이 서비스는 RC 파일에서 Mean이라는 이름으로 참조됩니다.
알겠습니다.
따라서 모든 프로그래밍 언어에는 일종의 주요 함수인 임의의 도트 RC라는 파일이 하나씩 있습니다.
여기에서 찾을 수 있습니다.
그래서 이것은 큰 파일입니다.
따라서 이것은 Java나 C++ 또는 C 언어의 주요 기능과 매우 유사합니다.
이 주요 기능이 있죠?
이제 시작하겠습니다.
이것도 이와 매우 유사합니다.
따라서 RC는 중요하지 않은 서명을 받는 주요 파일 또는 주요 기능입니다.
이렇게 하면 모든 가져오기 및 모든 작업이 수행되며 내부적으로 이러한 RC 파일을 호출할 수도 있습니다.
내려오면 여기에 마지막 시작 메인 화면이 보입니다.
따라서 이 명령은 기본적으로 Main이라는 이름의 클래스를 시작하는 명령입니다.
이렇게 하면 기본적으로 사이클이 시작됩니다.
알겠습니다.
이렇게 하면 문이 트리거되고 기본적으로 이 구성 또는 이 프로세스가 시작됩니다.
알겠습니다.
이제 이 프로세스는 프로세스 64에서 시작하겠죠? 따라서
64번 프로세스는 기본적으로 잠을 자지 말라는 의미입니다.
따라서 이 기본 기능에서 실행을 시작하지 마세요.
알겠습니다.
보시다시피 메인 함수는 기본적으로 많은 초기화 작업
을 수행하며 여기에서 전달되는 인수를 반복합니다.
따라서 이러한 인수는 기본적으로 해당 인수를 통해 반복되며 많은 변수를 설정합니다.
따라서 여기에서 START 시스템 서버가 기본값을 먼저 초기화한 다음 확인하는 것을 볼 수 있습니다.
매개 변수가 있으면 참으로 설정합니다.
사실입니다.
따라서 이것은 기본적으로 시스템을 다시 시작할지 여부를 말
한 다음 참이면이 인수를 추가하고 접합체 인 경우 하단에이
패키지 이름으로 런타임을 시작하고이 인수를 전달합니다.
따라서 이것은 기본적으로 이러한 인수를 이 Java 패키지에 전달하는 것입니다.
이것은 Java 패키지입니다.
이 패키지 이름이 보이시죠?
달러 패키지인 것 같습니다.
그리고 그것은 거대한 패키지입니다.
곧 살펴보겠습니다.
기본적으로 이 모든 매개변수를 파싱하는 것입니다.
그렇다면 런타임이란 정확히 무엇일까요?
런타임은 모든 앱 런타임을 객체화합니다.
앱 런타임이 안드로이드 런타임에서 상속되는 것을 확인할 수 있습니다.
알겠습니다.
기본적으로 안드로이드 런타임 내에서 시작 함수를 실행합니다.
이 시작 함수는 안드로이드 런타임에서 제공되어야 합니다.
안드로이드 런타임으로 이동해 보겠습니다.
네
시작 기능을 볼 수 있습니다.
맞습니다.
그래서 이것이 바로 이 페이지에 호출될 것입니다.
따라서 먼저 클래스 이름은 하나뿐입니다.
접합체가 들어갑니다.
또한.
좋아요, 바로 이거예요.
따라서 안드로이드 런타임의 시작 프로세스에서 이러한 모든 매개 변수를 가져오는 것을 볼 수 있습니다.
앱 평균에서 전달되며 여기서 많은 초기화 작업을 수행합니다.
그리고 내려오면 VM 시작을 볼 수 있습니다.
그래서 가상 머신이 시작됩니다.
그러면 기본적으로 Java 가상 머신을 시작하고 시작하겠죠? 이 함수는 기본적으
로 안드로이드 런타임 또는 동적 가상 머신에 대한 DNI를 등록하는 기능입니다.
기본적으로 안드로이드 기능을 등록하면 가상 머신이 시작됩니다.
그리고 아래로 내려오면 여기에서 주 함수를 찾으려고 하
지만 주 함수를 호출하려고 하는 것을 볼 수 있습니다.
그래서 결국에는 좋은 말이 나올 것입니다.
또한.
네
그러면 컨트롤이 그 안에 있는 접합체로 이동합니다.
이제부터는 Java 계층으로 이동합니다.
따라서 이 커뮤니케이션은 오늘 밤까지 이루어지며, 일단 내부에 들어가면 좋습니다.
이제 기본부터 시작하겠습니다.
그래서 여기서 인수가 전달되고 있습니다.
여기서 인수가 내려오면 인수가 START 시스템 서버로 이동하여 스톡
시스템을 구성하는 등 비슷한 작업을 수행하는 것을 볼 수 있습니다.
여기서 더 아래로 내려가면 포크를 통해 시스템 서버를 시작하는 것을 볼 수 있습니다.
따라서 여기서 이 값이 참이면 이를 통과했으므로 참입니다.
그렇다면 그것은 사실이며 시스템을 지원합니다.
그렇군요.
이것이 바로 시스템을 시작하는 지점입니다.
그래서 뭐죠? 그리고 더 내려오면 선택 루프가 실행되고 이
안으로 들어가면 선택 루프가 실행되는 것을 볼 수 있습니다.
따라서 이것은 Java가 아닌 좋은 서버 내에 있습니다.
여기서 확인할 수 있습니다.
무한 루프인가요? 이 루프는 항상 실행되며
기본적으로 클라이언트 요청을 기다립니다.
따라서 기본적으로 활동 관리자 서비스가 새 하위 프로세스를 생성하기 위해 좋아할 때까지 기다립니다.
따라서 이 무한 루프는 기본적으로 새 애플리케이션을 시작해야 할 때마다 담당합니다.
활동 관리 서비스는 기본적으로 요청합니다.
요청이 기본적으로 여기로 오면 프로세스가 시작됩니다.
알겠습니다.
이제 시스템이 어떻게 시작되는지, 그리고 마지막으로 루프, 즉
무한 루프에 들어가서 요청을 기다리는 방법을 살펴봤습니다.
요약하자면, 접합체 프로세스는 다음 단계를 수행합니다.
따라서 여기에서 앱 런타임을 생성하고 시작 메서드를 호출하여 접합체 프로세스를 시작합니다.
그리고 여기에서 Dalvik 가상 머신을 생성합니다.
그리고 DBM의 DNA를 교란시킨 다음 접합체 초기화 과정을 거칩니다.
따라서 여기서부터 제어는 Java 세계를 통과합니다.
따라서 제어는 자바 초기화에서 이루어집니다.
네
그리고 이 과정은 DNA를 통해 이루어집니다.
그리고 여기에서도 같은 작업을 수행합니다.
인수를 살펴보고 일부 변수를 초기화합니다.
그리고 마지막으로 시스템 서버와 대화하거나 시작합니다.
그리고 여기서 무한 루프에 빠지게 됩니다.
그리고 활동 관리 서비스에서 요청에 대한 오류가 발생할 때까지 기다립니다.
그래서 제가 처리한 내용은 여기까지입니다.
이 영상을 통해 많은 것을 배우시길 바라며, 영상이 마음
에 들면 계속 영상을 제작할 수 있도록 구독해 주세요.
감사합니다.