C/C ++의 "int main"과 유사한 Android에 프로그램의 기본 루프가 포함 된 기능이 있습니까?

StackOverflow https://stackoverflow.com/questions/1099640

문제

일반적으로 C 또는 C ++ 프로그램에는 기본 루프/기능이 있습니다. int main (). Android Java 개발에서 사용할 수있는 비슷한 기능이 있습니까?

도움이 되었습니까?

해결책

Android 프로그램에 관한 한 Main ()은 없습니다. 프로그램에서 정의하거나 재정의하는 메소드를 호출하는 OS가 실행되는 UI 루프가 있습니다. 이러한 메소드는 oncreate (), onstart (), onresume (), onrestart (), onpause (), onstop () 또는 ondestroy ()에서 호출/정의 될 수 있습니다. 이 모든 방법은 프로그램에서 재정의 될 수 있습니다.

기본 문제는 OS가 자원 제한 환경에서 실행되도록 설계되었다는 것입니다. OS가 더 많은 메모리가 필요할 때마다 (멀티 태스킹 OS) 프로그램을 중단하고 완전히 중지해야합니다. 처리하려면 프로그램에 위에 나열된 모든 기능 중 일부가 있어야합니다.

활동 수명주기는 이것을 가장 잘 설명합니다 (귀하의 프로그램은 하나 이상의 활동이며 활동을 화면으로 생각합니다).

http://developer.android.com/reference/android/app/activity.html#activitylifecycle

결론 : OnResume ()을 통해 OnCreate ()에서 '시작'하지만 OS는 루프를 실행하고 있습니다. 귀하의 프로그램은 OS가 보내는 모든 것을 처리하기 위해 OS에 대한 콜백을 제공합니다. 프로그램의 어느 시점에서나 긴 루프를 넣으면 OS (특히 UI 스레드)가 시간을 얻을 수 없기 때문에 얼어 붙는 것처럼 보입니다. 긴 고리에 스레드를 사용하십시오.

다른 팁

안드로이드 환경에는 main ()이 없습니다. OS는 매니페스트 파일에 의존하여 대부분의 경우 활동을 응용 프로그램에 찾을 수 있습니다.

당신은 읽어야합니다 http://developer.android.com/guide/topics/fundamentals.html 자세한 내용은.

에 따르면:http://developer.android.com/guide/tutorials/hello-world.html

응용 프로그램 클래스는 응용 프로그램이 지원하는 각 활동에 대한 메소드를 지원해야합니다. 일반적으로 OnCreate는 아마도 귀하의 요구에 대한 기본/최고 기능과 동일합니다.

아마도 타이머를 만들고 모든 진드기에서 사용자 정의 함수를 실행하여 가능할 수 있습니다. 특정 시간에 타이머를 재설정하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top