В чем разница между активностью и потоком в приложении для Android?

Я смущен различием между активностью и потоком в приложении Android. Итак, это деятельность как независимый поток? Если это так, несколько операций запускаются одновременно в многопоточном приложении?

спасибо

Я верю, что вы, возможно, прочитали документацию о том, что такое мероприятие? до. Если нет, тогда, пожалуйста. Здесь вы можете больше узнать о процессах и потоках в android. Теперь, отвечая на ваш вопрос:

Является ли деятельность независимой нитью?

Каждое действие не является независимым потоком. Как упоминалось в комментариях @ android.h, все действия выполняются в одном и том же потоке пользовательского интерфейса .

Можно ли одновременно запускать несколько видов деятельности в многопоточном приложении?

Как сказано выше, все действия, службы, ContentProviders, BroadcastReceivers и т. Д. Работают в потоке пользовательского интерфейса. При этом вы можете запускать несколько потоков из самой активности. Таким образом, приложение может использовать несколько потоков, но выполнение нескольких действий не делает его многопоточным.

Принимая несколько действий, вы можете прочитать документ « Задачи» и «Назад в стек» . В нем освещается концепция нескольких видов деятельности:

An application usually consists of multiple activities that are loosely bound to each other. Typically, one activity in an application is specified as the "main" activity, which is presented to the user when launching the application for the first time. Each activity can then start another activity in order to perform different actions. Each time a new activity starts, the previous activity is stopped, but the system preserves the activity in a stack (the "back stack"). When a new activity starts, it is pushed onto the back stack and takes user focus. The back stack abides to the basic "last in, first out" stack mechanism, so, when the user is done with the current activity and presses the Back button, it is popped from the stack (and destroyed) and the previous activity resumes An application usually consists of multiple activities that are loosely bound to each other. Typically, one activity in an application is specified as the "main" activity, which is presented to the user when launching the application for the first time. Each activity can then start another activity in order to perform different actions. Each time a new activity starts, the previous activity is stopped, but the system preserves the activity in a stack (the "back stack"). When a new activity starts, it is pushed onto the back stack and takes user focus. The back stack abides to the basic "last in, first out" stack mechanism, so, when the user is done with the current activity and presses the Back button, it is popped from the stack (and destroyed) and the previous activity resumes . Итак, вот как работает несколько действий.

Надеюсь, это сделало вашу концепцию более ясной.

Итак, активность – это независимый поток?

Да и нет. Android-приложение с одним Activity будет иметь один процесс и один поток, но если есть несколько компонентов приложения, они обычно будут использовать один и тот же поток (за исключением определенных классов Android, которые используют свои собственные потоки для выполнения работы).

Пожалуйста, прочитайте следующее …

Процессы и потоки

Если это так, многократные действия запускаются одновременно как многопоточное приложение?

Activity считается только «запущенной», когда она полностью видна. Например, когда появляется всплывающее окно (например, Dialog и т. Д.), Основное действие все еще частично видимо, но будет находиться в состоянии «приостановлено». Если другое действие запущено и полностью скрывает предыдущий (независимо от того, является ли оно частью вашего собственного приложения или внешнего приложения), предыдущее действие переходит в состояние «остановлено» и может даже быть уничтожено.

В принципе, Activity Android не является рабочей лошадкой, позволяющей многозадачность в многопоточной среде. Activity – это в основном инфраструктура пользовательского интерфейса для предоставления кнопок, текстовых представлений, изображений и т. Д. И обеспечения взаимодействия с пользователем.

Смотрите также…

Основы применения

… а также посмотрите диаграмму жизненного цикла Activity здесь …

Жизненный цикл деятельности

Вы должны понимать концепцию UI Thread. В принципе, есть основной поток (тот, который вызывает ваши методы обратного вызова активности), и вы можете запускать другие потоки. Нити, которые вы запускаете, не могут обновлять пользовательский интерфейс, а только поток пользовательского интерфейса.

Подробнее здесь: Что такое Android UiThread (поток пользовательского интерфейса)

AS android.h упомянул обо всех объектах пользовательского интерфейса, действия, выполняемые на главной теме. Но все же вы можете использовать async-задачу для чтения данных из веб-служб в другом потоке, который поможет вам не выполнять задачу в фоновом режиме. Надеюсь, мой ответ вам помог.

Активация – это пользовательский интерфейс, а Thread – это рабочий процесса, который выполняет некоторый код. У Android есть один основной поток, который контролирует весь пользовательский интерфейс (UI), поэтому, если вы не укажете другой поток, который запускает вашу деятельность, главный поток будет запускать весь ваш пользовательский интерфейс.

Активность – это любой ui, который пользователь видит при использовании приложения, поток – это место, где выполняются ваши задачи. Всегда есть один поток, который называется основным потоком для запуска всех ваших ui и процессов в приложении, если вы хотите увеличить Вам нужно создать больше потоков, чтобы ваш основной поток не нарушался, а ваши тяжелые задачи выполнялись на заднем плане.

Intereting Posts
Потоковое видео и Android Оценка ошибки разбора XML: префикс не должен привязываться к одному из зарезервированных имен пространства имен Доступ к базе данных sqlite для Android с ПК разработки Android Google Map v2 – запуск активности при нажатии на маркер infoWindow Получите амплитуду звука с помощью источника / объекта / streamType Извлеките всю строку Hardcoded String в строковый ресурс: Android Studio Android – Как реализовать навигацию, которая частично видима во все времена? Сохранение данных из списка с помощью SharedPreferences Какой загрузчик классов использовать с Parcel.readHashMap? INSTALL_FAILED_NO_MATCHING_ABIS при установке apk Доступ к определенной загруженной базе данных .sqlite во внешнем хранилище из приложения для Android Получайте местоположение Android GPS каждые несколько минут SecureRandom провайдер «Crypto» недоступен в Android N для детерминированного генерации ключа Несколько ключей и значений JSONObject не сохраняются в Parse Что такое Earcon?