Intereting Posts
Android-волейбол, как модульный тест прошел в Listener Как поймать мягкую клавиатуру «введите / сделать» нажмите? Как сохранить SMS в папку «Входящие» в Android? Android.process.acore неожиданно остановился Откройте URL-адрес в браузере Android, избегайте нескольких вкладок Значение Sharedpreference byte очищено после приложения, убитого с помощью «Force Stop» или диспетчера задач Ионный: как отображать ионный элемент на нескольких линиях? Запуск приложения на нескольких устройствах автоматически в Android Studio Новый для android нужно понимать "? Android: attr / actionBarSize" В какой очереди приложений для приоритетов Android (Asynk Task, Multithreading) вы бы порекомендовали Android? Импорт правильного метода AssertThat для Robolectric Test Действия Android, которые переопределяемые функции должны вызывать супер. * Кнопка «ОК» в диалоговом окне «Создать новое виртуальное устройство Android (AVD)» ничего не делает Диспетчер устройств Windows 8.1 теперь показывает устройство ACER, а не устройство Android для Google Nexus 7 Как заставить api.ai агент узнать что-то динамически?

Где main () в Android?

Я новичок в Android, и изучал структуру, и это заставило меня задать этот вопрос. Поскольку мы расширяем «Активность» на Android, там должно быть main место в Activity или есть скрытый класс, который Activity реализует, который содержит main .

Я везде искал, но не мог найти его. Я был бы признателен, если бы кто-нибудь мог дать четкое представление об этом.

Solutions Collecting From Web of "Где main () в Android?"

Android использует язык java, но выполняется с использованием модифицированной модели времени исполнения. Как говорили другие, в каждом пакете есть манифест. Точка запуска указана в этом манифесте. Перейдите на сайт Android и выполните основные уроки. Это позволит вам работать с пониманием процесса создания / развертывания / запуска и базового жизненного цикла приложения.

В основных программах Java нам нужен метод main() , потому что при выполнении байтового кода JVM будет искать метод main() в классе и запускать его там.

В случае Android, виртуальная машина Dalvik предназначена для поиска класса, который является подклассом Activity и который устанавливается как LAUNCHER для запуска выполнения приложения из его onCreate() , поэтому нет необходимости в main() .

Для получения дополнительной информации см. Жизненный цикл Activity .

Прочтите эту запись в блоге, чтобы понять, как запускается Android-приложение:

Во время запуска системы Android ядро ​​Linux сначала вызывает процесс «init». Init читает файлы «/init.rc» и «init.device.rc». «Init.device.rc» является специфичным для устройства, на виртуальном устройстве этот файл называется «init.goldfish.rc».

Init.rc запускает процесс «Zygote» через программу «/ system / bin / app_process». Zygote загружает основные классы Java и выполняет их первоначальную обработку. Эти классы могут быть повторно использованы приложением Android, и поэтому этот шаг заставляет их быстрее запускать. Как только начальная работа Zygote завершена, процесс прослушивает сокет и ждет запросов.

Если вы посмотрите в классе ZyogoteInit , вы найдете основной метод.

Как отмечали другие, этот метод main() используется для настройки среды приложений Android. Что касается разработчика, отправной точкой является метод onCreate() активности Launcher.

 onCreate() Method....See lifecycle of android class (Activity)..... 

http://developer.android.com/reference/android/app/Activity.html

В Android OS использует виртуальную машину Dalvik. Основная точка входа в выполнение приложения инкапсулирована в рамках. Вы можете взглянуть на « Что такое Android? »

Фактически, каждая активность в Android может считаться одним Приложением самостоятельно с собственным жизненным циклом.

Вы скажете, какой из них запускать при запуске в файле манифеста. Нет функции main() потому что этого не должно быть. main() может быть конвенцией, используемой для «обычных» java-приложений, но это не для таких вещей, как апплеты браузера. Система создает объект активности и вызывает в нем методы, которые могут быть или не быть вызваны main. В этом случае это не так.

onCreate отличается от метода main() и от конструктора тем, что его можно вызывать дважды в одном действии, например, если процесс убит и пользователь переходит к активности. См. Это

Многие вещи, которые вы можете рассматривать как приложение Java, не имеют собственного метода main() . Например, IIRC, сервлеты, WARs и т. Д. Не имеют методов main() метод main() , если он есть, находится в контейнере.

На самом деле, метод main() – это android.app.ActivityThread Android android.app.ActivityThread . Этот метод создает основной (UI) Thread для процесса ОС, настраивает Looper на нем и запускает цикл событий.

Основа Android отвечает за создание и уничтожение процессов ОС, запуск приложений, запуск активности, сервисов и других компонентов. ActivityManager является частью платформы Android и отвечает за координацию и управление различными компонентами.

Архитектура Android немного отличается от архитектуры, которую можно использовать для автономных приложений Java. Самое большое различие заключается в том, что все ваши компоненты ( Activity , Service , BroadcastReceiver и т. Д.) Не обязательно запускаются в одном и том же ОС или на той же виртуальной машине (VM). Возможно иметь компоненты из одного приложения, работающего в разных операционных системах ОС, а также иметь компоненты из разных приложений, работающих в одном и том же ОС. В традиционной Java метод main() – это метод, который вызывается виртуальной машиной после того, как был создан процесс ОС, и виртуальная машина завершила свою инициализацию.