Каковы основные отличия между реализацией приложений и многозадачности приложений для Android и iPhone?

В чем основные отличия между реализацией многозадачности для Android и iPhone на уровне приложений?

(Давайте не будем превращать это в субъективный аргумент фаната, пожалуйста?)

9 голосов | спросил rchern 14 J000000Wednesday10 2010, 23:19:31

3 ответа


6

Это не ответ на ваш вопрос, но стоит уточнить, что обе операционные системы полностью многозадачны [1] под капотом (поскольку они могут и выполняют несколько процессов).

В вашем вопросе четко говорится о многозадачности на уровне приложений («могу ли я оставить одно приложение запущенным при использовании другого?»), что является относительно новым использованием этого термина и не всегда четко определено, даже если оно есть некоторые очевидные примеры (например, слушать Pandora при чтении электронной почты). В частности, многие приложения не должны запускаться в фоновом режиме, чтобы представить себя пользователю, как если бы они никогда не переставали работать, пока они сохраняют /восстанавливают свое состояние. Приложения, которые должны выполнять периодические операции (например, проверку почты или всплывающих предупреждений), не должны запускаться непрерывно в фоновом режиме; они могут иногда ссылаться на ОС. Большая проблема - это обычно приложения, которые нуждаются в постоянном процессоре в фоновом режиме, например, в Pandora.

В целом, Apple много работала, чтобы препятствовать или предотвращать постоянно работающие фоновые приложения, в то время как Android кажется более открытым для этого. Но они сходятся, поскольку Apple позволяет приложениям, таким как Pandora, работать в фоновом режиме, а Android предоставляет более богатые инструменты, чтобы отбить ненужные фоновые задачи, когда достаточно опроса или сохранения состояния.

[1] http://en.wikipedia.org/wiki/Computer_multitasking

ответил 14 J000000Wednesday10 2010, 23:54:54
3

Насколько я могу судить.

Многозадачность iPhone намного ограничена. Многозадачная активность должна быть одной из следующих:

  • Фоновый звук
  • VoIP
  • Местоположение фона
  • Push-уведомления
  • Локальные уведомления
  • Задание задачи
  • Быстрая переключение приложений

[Спасибо Gizmodo ! ]

Android, с другой стороны, допускает истинную многозадачность по аналогии с ПК.

Прежде чем я буду обвинен в том, что я поклонник Android, позвольте мне что-то объяснить. Модель многозадачности для iPhone более чем достаточна для большинства ситуаций и позволяет избежать множества проблем (например, нехватки памяти), которые сопровождают систему Android.

ответил 14 J000000Wednesday10 2010, 23:26:36
2

Android имеет другую концепцию многозадачности уровня приложений, чем ПК. Существует больше отключений между данными, как просматривать данные и как работать с данными.

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

У вас может быть сразу столько фоновых процессов, и они запланированы как настольные приложения. Ядро Linux будет выбирать, как распределять приоритеты, какие из них получают ресурсы памяти и ЦП. Когда телефон решит, что он потерял память, он начнет убивать вещи, чтобы сделать больше памяти. Это делается иначе, чем обычно ведет себя Linux или большинство других ОС.

Данные программы всегда доступны. Пока у приложения есть разрешения на доступ к данным, он доступен. Вам не нужна служба, работающая в фоновом режиме, чтобы она была доступна.

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

Рабочий стол очень отличается от обоих этих вещей. Логика просмотра, данных и обработки данных каждого приложения часто фиксируется вместе. Я бы сказал, что WebOS, Symbian и Maemo /Meego являются примерами этого на мобильных устройствах. Если приложение действительно подвергает его обработке данных и фоновой обработке другим «представлениям», это будет иметь особое применение.

ответил 15 J000000Thursday10 2010, 00:19:05

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132