iPhone - почему только одно приложение за раз

Я пытался найти объяснение этому вопросу, но не смог.

Я новичок в разработке iPhone, и мне было интересно, почему iPhone не может разрешать / запускать более одного приложения одновременно?

Я почти уверен, что это особенность дизайна, а не недостаток функциональности.

Не мог бы кто-нибудь объяснить мне техническими / нетехническими словами, почему вы не можете запускать более одного приложения одновременно на iPhone.

Большое Вам спасибо.


person Alexandru Luchian    schedule 06.12.2009    source источник
comment
У меня есть iPod Touch и Palm Pre. Разница между ними в основном заключается в том, что Pre часто попадает в состояние, когда что-то больше не работает, даже закрытие всех приложений не исправляет это, но если вы перезагрузите его, он работает. В основном это происходит с GPS-навигацией или электронной почтой.   -  person Paul Tomblin    schedule 06.12.2009


Ответы (7)


Вот почему:

Очень часто на досках обсуждения, связанных с другими смартфонами, такими как Android и т. Д., Пользователи задают такие вопросы, как «почему моя батарея иногда очень быстро разряжается?» И «почему мой телефон становится все медленнее и медленнее?». Ответ, который неизбежно получил от сообщества, очевиден: перейдите в диспетчер задач по телефону и остановите некоторые из запущенных посторонних программ. Для разумного пользователя не составит труда управлять доступными ресурсами.

Что касается iPhone, Apple решила, что они ценят общий опыт больше, чем гибкость, и поэтому они приняли решение ограничить телефон одной (сторонней) задачей, чтобы предотвратить описанные выше сценарии. Согласны ли вы или не согласны с этим решением, зависит от человека.

person phoebus    schedule 06.12.2009

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

Нет никаких технических причин, кроме того, что Apple накладывает ограничение на свое программное обеспечение. Поскольку у телефона довольно ограниченные ресурсы, Apple решила, что это испортит взаимодействие с пользователем, если будет запущено несколько приложений, что замедлит работу видимого в данный момент приложения.

На телефонах с Jailbroken это возможно.

person Mongus Pong    schedule 06.12.2009

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

person Vineel Adusumilli    schedule 06.12.2009
comment
И Mail, и иногда Safari. - person Kendall Helmstetter Gelner; 07.12.2009
comment
Нет, Mail использует push-уведомления, которые были альтернативой Apple многозадачности. - person Vineel Adusumilli; 09.12.2009

Я считаю, что они приняли правильное решение относительно того, как сейчас работает система.

Думаю, есть несколько исключений:

  1. Было бы неплохо, если бы приложения с разрешения пользователя могли планировать запуск в определенное время. Это позволит правильно подать сигнал тревоги.
  2. Разрешить воспроизведение звука в фоновом режиме из приложения. Это улучшит работу таких вещей, как Spotify.

Как только вы начинаете запускать более одного пользовательского приложения, вы начинаете думать об управлении этими запущенными программами. Хотя для нас это не будет проблемой, для обычного Джо это ненужное осложнение. Фактически, я бы даже сказал, что модель воспринимаемой единственной запущенной программы будет хорошо работать для быстрого большинства пользователей на их большом компьютере ;-)

person lyonanderson    schedule 06.12.2009
comment
Аудио в фоновом режиме имеет ограниченное использование, если вы не можете работать в сети (Pandora и NPR - мои приложения для списка желаний), а сеть является проблемой. Честно говоря, мне нравится мой iPhone, но я, вероятно, переключусь, чтобы получить возможность запускать сетевые мультимедиа в фоновом режиме. - person Jerph; 07.12.2009
comment
Согласен, я думаю, мы все хотели бы, чтобы Pandora или Spotify работали в фоновом режиме. Мой телефон в настоящее время взломан. Единственное приложение, которое я использую для справки, - это Spotify. Учитывая, что Apple проверяет каждое приложение, возможно, в какой-то момент в будущем они позволят приложениям такого типа работать в фоновом режиме. - person lyonanderson; 07.12.2009

Потому что это будет израсходовать много батареи. Если у вас есть взломанное устройство, вы можете запускать несколько приложений одновременно с помощью приложения Backgrounder.

person eWolf    schedule 06.12.2009

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

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

-t

person Tim    schedule 06.12.2009
comment
Мне не нравятся ваши проблемы с мультиплексированием в обсуждении. Методы многопроцессорной связи существенно отличаются от методов связи между потоками. - person Frank Krueger; 06.12.2009
comment
Я согласен с Фрэнком, и в любом случае это всего лишь единая среда для сторонних приложений. Единственное, чего действительно не хватает, так это способа просмотра и уничтожения неуправляемых приложений, кроме полного сброса. - person Jerph; 07.12.2009
comment
Я никогда не говорил, что вы можете запускать несколько приложений, только то, что есть уровень многопоточности, доступный для тех, кто может извлечь выгоду из этой функции. Вы можете прочитать все об этом в Руководстве по программированию потоков, если вы не знакомы с ним. - person Tim; 07.12.2009
comment
Тим, ты здесь довольно неприятен. Я почти уверен, что Фрэнк знаком с этим (многопоточное программирование), это было довольно оскорбительно. Ваш исходный пост в основном подразумевал, что если бы другие приложения работали, ваше приложение должно было бы быть написано для обработки многопоточности, что попросту неверно. Возможно, это не было вашим намерением, но так оно и было. - person Kendall Helmstetter Gelner; 07.12.2009

‹Cynic› Они хотят, чтобы вы купили iPhone 4GX (теперь с многозадачностью!) Через 6 месяцев. ‹/Cynic›

Аппаратное обеспечение может с этим справиться - взломанные iPhone могут это сделать, и другие телефоны с аналогичным оборудованием тоже. Вот несколько возможных причин, почему этого еще не произошло на iPhone:

  • они не придумали хороший интерфейс для управления несколькими задачами (немалый подвиг)
  • они беспокоятся о сроке службы батареи (заявленная причина)
  • они не хотят, чтобы фоновые приложения замедляли работу активных приложений
  • они (серьезно) ждут, чтобы взимать с вас плату, как они это делали с видео

Бьюсь об заклад, это в некоторой степени по всем этим причинам, но, вероятно, не по последней. Они потратили МНОГО усилий на обходные пути (в частности, push-уведомления и API данных), чтобы разрешить некоторые фоновые функции. Я должен думать, что отсутствие настоящей многозадачности того стоит.

Также обратите внимание, что почти все собственные приложения (определенно Safari, Mail, iPod, iTunes, Phone и Maps) всегда или могут работать в фоновом режиме.

person Jerph    schedule 06.12.2009