До сих пор существует множество людей, которые не знают, как работает многозадачность в iOS. Однако для начала необходимо отметить, что это не настоящая многозадачность, а очень умное решение, не нагружающее ни систему, ни пользователя.
Часто можно услышать суеверия о том, что приложения, работающие в фоновом режиме в iOS, заполняют оперативную память, что приводит к замедлению работы системы и увеличению времени автономной работы, поэтому пользователю следует отключать их вручную. Панель многозадачности фактически содержит не список всех запущенных фоновых процессов, а только самые последние запущенные приложения. Таким образом, пользователю не придется беспокоиться о процессах, работающих в фоновом режиме, за исключением некоторых случаев. При нажатии кнопки «Домой» приложение обычно переходит в спящий режим или закрывается, чтобы больше не нагружать процессор или батарею и при необходимости освободить необходимую память.
Так что это не полноценная многозадачность, когда у вас запущены десятки процессов, на переднем плане всегда работает только одно приложение, которое при необходимости ставится на паузу или отключается совсем. В фоновом режиме работают лишь несколько второстепенных процессов. Вот почему вы редко столкнетесь со сбоем приложения на iOS, например, Android перегружен запущенными приложениями, о которых должен позаботиться пользователь. С одной стороны, это делает работу с устройством неприятной, а с другой – вызывает, например, медленный запуск и переходы между приложениями.
Тип среды выполнения приложения
Приложение на вашем устройстве iOS находится в одном из следующих 5 состояний:
- Бег: приложение запускается и работает на переднем плане
- Фон: он все еще работает, но работает в фоновом режиме (мы можем использовать другие приложения)
- Приостановленный: Все еще использует ОЗУ, но не работает
- Неактивный: приложение запущено, но косвенные команды (например, при блокировке устройства при работающем приложении)
- Не бегать: Приложение завершилось или не запустилось
Путаница возникает, когда приложение уходит в фоновый режим, чтобы не беспокоить. Когда вы нажимаете кнопку «Домой» или используете жест для закрытия приложения (iPad), приложение переходит в фоновый режим. Большинство приложений приостанавливаются в течение нескольких секунд (они хранятся в оперативной памяти iDevice, поэтому их можно быстро запустить, они не так сильно нагружают процессор и, таким образом, экономят заряд батареи). Вы можете подумать, что если приложение продолжает использовать память, у вас есть вручную удалить его, чтобы освободить. Но вам не обязательно этого делать, потому что iOS сделает это за вас. Если у вас в фоновом режиме приостановлено требовательное приложение, например игра, использующая большой объем оперативной памяти, iOS при необходимости автоматически удалит его из памяти, и вы сможете перезапустить его, коснувшись значка приложения.
Ни одно из этих состояний не отображается на панели многозадачности, на панели отображается только список недавно запущенных приложений, независимо от того, остановлено ли приложение, приостановлено или работает в фоновом режиме. Вы также можете заметить, что запущенное в данный момент приложение не отображается на панели «Многозадачность».
Фоновые задачи
Обычно, когда вы нажимаете кнопку «Домой», приложение запускается в фоновом режиме, и если вы его не используете, оно автоматически приостанавливается в течение пяти секунд. Например, если вы загружаете подкаст, система оценивает его как работающее приложение и задерживает завершение на десять минут. Самое позднее через десять минут процесс удаляется из памяти. Короче говоря, вам не нужно беспокоиться о прерывании загрузки нажатием кнопки «Домой», если ее завершение не займет более 10 минут.
Бесконечный бег в фоновом режиме
В случае неактивности система завершает работу приложения в течение пяти секунд, а в случае загрузок завершение задерживается на десять минут. Однако существует небольшое количество приложений, которые требуют работы в фоновом режиме. Вот несколько примеров приложений, которые могут работать в фоновом режиме неограниченное время в iOS 5:
- Приложения, которые воспроизводят звук и которые необходимо на время прерывать (ставить музыку на паузу во время телефонного звонка и т.п.),
- Приложения, отслеживающие ваше местоположение (навигационное программное обеспечение),
- Приложения, принимающие вызовы VoIP. Например, если вы используете Skype, вы можете принять вызов, даже когда приложение находится в фоновом режиме.
- Автоматические загрузки (например, газетный киоск).
Все приложения следует закрыть, если они больше не выполняют задачу (например, фоновую загрузку). Однако есть исключения, которые постоянно работают в фоновом режиме, например собственное приложение «Почта». Если они работают в фоновом режиме, они занимают память, загрузку ЦП или сокращают срок службы батареи.
Приложения, которым разрешено работать в фоновом режиме в течение неопределенного времени, могут делать все, что они делают во время работы, от воспроизведения музыки до загрузки новых эпизодов подкаста.
Как я упоминал ранее, пользователю никогда не придется закрывать приложения, работающие в фоновом режиме. Единственным исключением из этого правила является случай, когда приложение, работающее в фоновом режиме, дает сбой или не выходит из спящего режима должным образом. Затем пользователь может закрыть приложения вручную на панели многозадачности, но это происходит редко.
Таким образом, в целом вам не нужно управлять фоновыми процессами, поскольку система позаботится о них сама. Вот почему iOS — такая свежая и быстрая система.
С точки зрения разработчика
Приложение может реагировать в шести различных состояниях в рамках многозадачности:
1. ПриложениеWillResignActive
В переводе это состояние означает, что приложение перестанет быть активным (то есть приложением на переднем плане) в будущем (вопрос нескольких миллисекунд). Такое происходит, например, при поступлении вызова во время использования приложения, но в то же время этот метод также вызывает это состояние до того, как приложение перейдет в фоновый режим, поэтому необходимо учитывать эти изменения. Этот метод также подходит для того, чтобы, например, приостанавливать все выполняемые действия при входящем вызове и ждать окончания вызова.
2. ПриложениеDidEnterBackground
Статус указывает на то, что приложение перешло в фоновый режим. Разработчики должны использовать этот метод, чтобы приостановить все процессы, которые не обязательно должны выполняться в фоновом режиме, и очистить память от неиспользуемых данных и других процессов, таких как истекающие таймеры, очистка загруженных изображений из памяти, которые не обязательно потребуются, или закрытие соединения с серверами, если приложению не критично выполнять соединения в фоновом режиме. Когда метод вызывается в приложении, его следует использовать для полной приостановки приложения, если какая-то его часть не требуется для работы в фоновом режиме.
3. ПриложениеWillEnterForeground
Это состояние противоположно первому состоянию, в котором приложение переходит в активное состояние. Состояние просто означает, что спящее приложение возобновит работу из фонового режима и появится на переднем плане в течение следующих нескольких миллисекунд. разработчикам следует использовать этот метод для возобновления любых процессов, которые были неактивны, пока приложение работало в фоновом режиме. Соединения с серверами должны быть восстановлены, таймеры сброшены, изображения и данные загружены в память, а другие необходимые процессы могут возобновиться непосредственно перед тем, как пользователь снова увидит загруженное приложение.
4. ПриложениеDidBecomeActive
Состояние указывает, что приложение только что стало активным после восстановления на переднем плане. Это метод, который можно использовать для внесения дополнительных корректировок в пользовательский интерфейс или для восстановления пользовательского интерфейса в исходное состояние и т. д. Фактически это происходит в тот момент, когда пользователь уже видит приложение на дисплее, поэтому необходимо с осторожностью определите, что происходит в методе этого и в предыдущем методе. Они вызываются один за другим с разницей в несколько миллисекунд.
5. ПриложениеWillTerminate
Это состояние возникает за несколько миллисекунд до выхода приложения, то есть до того, как приложение фактически завершится. Либо вручную из многозадачности, либо при выключении устройства. Этот метод следует использовать для сохранения обработанных данных, завершения всех действий и удаления данных, которые больше не понадобятся.
6. ПриложениеDidReceiveMemoryWarning
Именно последнее состояние является наиболее обсуждаемым. Он отвечает за при необходимости удаление приложения из памяти iOS, если оно без надобности использует системные ресурсы. Я не знаю конкретно, что iOS делает с фоновыми приложениями, но если ей нужно приложение для освобождения ресурсов другим процессам, она выводит предупреждение о необходимости освободить все имеющиеся у нее ресурсы. Итак, этот метод вызывается в приложении. Разработчики должны реализовать это так, чтобы приложение отдавало выделенную им память, сохраняло все происходящее, очищало ненужные данные из памяти и в остальном адекватно освобождало память. Это правда, что многие разработчики, даже новички, не думают о таких вещах и не понимают их, и тогда может случиться так, что их приложение угрожает сроку службы батареи и/или излишне потребляет системные ресурсы, даже в фоновом режиме.
вердикт
Эти шесть состояний и связанные с ними методы являются основой всей «многозадачности» в iOS. это отличная система, пока разработчики не игнорируют тот факт, что необходимо нести ответственность за то, что приложение выдает на устройствах своих пользователей, сворачиваются ли они или получают предупреждения от системы и так далее.
Источник: macworld.com
Авторы: Якуб Пожарек, Мартин Доубек (ArnieX)
У вас тоже есть проблема, которую нужно решить? Вам нужен совет или возможно найти подходящее применение? Не стесняйтесь обращаться к нам через форму в разделе Консультирование, в следующий раз мы ответим на ваш вопрос.
Здравствуйте, действительно классная статья, но мне интересно, есть ли у вас техническая поддержка по ней. Потому что я несколько раз вечером перед сном решал вопрос с батареей и бывало так, что с выключенным wifi и мобильными данными ушло больше, чем в другом случае с выключенным wifi и только 3G.
К сожалению, опыт показывает, что в iOS приложения приходится отключать вручную, и система уже не работает так хорошо, как раньше.
Я заменил свой iPhone на Windows Phone (Samsung Omnia W за 6200,-) и скорость системы на совершенно другом уровне.
Боюсь, когда выйдут планшеты с Windows 8 Metro, я и iPad заменю...
@007 – да, если сравнивать старые iPhone3G с новыми WP, то да (кто бы этого ожидал?), WP будет немного быстрее. В противном случае сплетни про Карлульку вам не идут и уместно было бы сравнить нынешнее HW. Я также купил WP7 и в итоге остановился на 4s, что представляет собой совершенно другой уровень удобства использования, чем WP7. Так что проходите приятно и бесконечно листайте плитки.
Полностью согласен с Пажей
Я бы еще раз внес вклад из обломков другой бочки - Samsung Galaxy S и iPhone 4 - сравнимых по возрасту я бы сказал? Во времена iOS 4, с точки зрения удобства использования и скорости где-то кроме Android, Apple очень хорошо решила концепцию работы с приложениями, но с Android этого уже не происходит. В итоге я все равно остановился на 4S и претензий у меня нет, потому что "он просто работает".. и работает очень быстро!
Теория красивая... Но на практике я всё равно закрываю приложение в баре ;)
Спасибо, очень интересно, прагматично, интересно, не лишено размаха и глубины. Значительно подчеркивая одержимость современной молодежи этим запрещенным брендом! Но спасибо и за нее, как и за эту статью.
Статья совершенно неправильная.
Приложение не закрывается при нажатии кнопки «Домой», как ошибочно заявлено, а ставится на паузу. Т.е. точно не удаляйте из памяти и не бросайте. Просто приостановите выполнение, iOS предоставит этому приложению 0% процессорного времени. Он точно не "подкачивается" нигде в памяти iDevice, как сказано в статье. Это действительно благодаря тому, что можно использовать переключение приложений.
Приложение удаляется из памяти, когда в телефоне недостаточно памяти для запуска других приложений с более высоким приоритетом (обычно другое приложение работает на переднем плане).
В первом случае вы правы, это была ошибка перевода. Что касается подкачки, то здесь речь не об этом, речь идет об оперативной памяти, а не о месте хранения в iOS-устройстве.
образ приложения хранится в памяти ограниченное время до его повторного вызова командой (см. 13,7 ГБ из 16 ГБ: 2,3 ГБ зарезервировано для системы и приостановленных приложений)
Таким образом, необходимо различать такие приложения, как Навигация, Скайп и им подобные, эти приложения остаются активными даже в фоновом режиме, либо определенная функция не завершается и продолжает, например, отправлять данные о своем местоположении или информацию о местоположении. Или как Vokul в режиме pord слушает, а многозадачность все еще слушает в фоновом режиме.
Эти приложения разряжают батарею и приходится закрывать их вручную, а не ждать iOS. с другими не надо, там только на случай краша приложения.
Не могу согласиться со статьей. Мин. на iPad 1-го поколения (iOS 5.0.1) ясно видно, много ли у меня «открытых» приложений на панели многозадачности или только несколько. iOS пытается очистить память, но этого явно недостаточно — маленький размер оперативной памяти, пожалуй, ее самая большая слабость.
так что многое зависит от системы и используемого железа, вполне логично, что на iPad 1 с iOS 5.0.1 будет хуже, чем если бы это было на iPad 2-го поколения
Извини, приятель, это описание ИДЕАЛЬНОГО способа, которым это должно работать. К сожалению, реальность совсем другая, и вы бы это знали, если бы пользовались продукцией Apple, по крайней мере, так же часто, как я (то есть время от времени).
«Часто можно услышать суеверия о том, что приложения, работающие в фоновом режиме в iOS, заполняют оперативную память»,
Это не суеверие, это просто факт. Ведь вы сами утверждаете это в статье.
«Как я уже упоминал ранее, пользователю никогда не придется закрывать приложения, работающие в фоновом режиме».
ЕРУНДА. Это просто чушь, яблочная пропаганда, не сердитесь на меня.
«Но вам не обязательно этого делать, потому что iOS сделает это за вас. Если у вас в фоновом режиме приостановлено требовательное приложение, например игра, использующая большой объем оперативной памяти, iOS при необходимости автоматически удалит его из памяти, и вы сможете перезапустить его, коснувшись значка приложения».
Не правда. Ситуация немного другая. Типичный пример — у меня в фоне работают требовательные приложения, нужны игры. Запускаю браузер, открываю пару вкладок -> нужно больше памяти. Что случится? Продолжаю требовать приложения в фоне, наоборот, БРАУЗЕР САМ ПАДАЕТ. Если закрыть требовательные приложения вручную, браузер работает долго без проблем.
Это практика, а не теория. И я удивлен, что, как давний пользователь продуктов Apple, вы до сих пор этого не знаете.
Спасибо, это очень хорошо описано и хорошо объяснено. Вы мне очень помогли ;-) ♥
Для ознакомления, я ни за, ни против iOS, как и с Android, но здесь есть несколько странностей, если как тут написано: "с iOS редко сталкиваешься с крахом приложений", то с Android, приложения, вероятно, вылетают раз в год: -P
http://dotekomanie.blog.mobilmania.cz/2012/02/stabilita-ios-vs-android/
Да, но случаи, когда нужно закрыть приложение вручную, действительно минимальны, я примерно раз этим пользовался? ;-) а давать ссылку на сравнительный тест из Мобиломании совершенно бессмысленно, когда захочу прочитать про рекламу, которую оплатил Google, я туда загляну ;-) каждый может взять в руки любой андроид телефон и это не будет работать нормально, за исключением Galaxy Nexus, система которого более или менее специально разработана. В общем, андроид - это катастрофа.
@Mek – Я использую продукцию Apple ежедневно в течение нескольких лет, и со мной такого никогда не случалось, так что ваша теория как-то не работает.
ОТ:
@redakce — Вы можете видеть, что над сайтом постоянно работают или что-то с ним происходит, но у меня такое ощущение, что не требуется неделя, чтобы все заработало как надо. И больше я сюда особо не прихожу, потому что новый образ мне не подходит. По крайней мере я пользовался мобильной версией на айфоне, а теперь она вообще не работает - как так? В настоящее время они не отвечают на сообщения в комментариях.
@SteveJSF К сожалению, не всегда все получается так, как мы хотим. Что касается ответов, то новый SEO-плагин их сломал, сейчас решается.
WP-Touch также по какой-то причине прекратил работу нашего сервиса, поэтому мы решили найти решение получше, чем этот плагин. Так что ждите следующих новостей в ближайшее время :-)
Хорошая статья. Что касается практики, то я хотел бы сказать, что согласен с несколькими вещами и большую часть времени это работает так, как заявлено, но, к сожалению, все еще есть плохо написанные приложения, которые ведут себя некорректно, а также бывают случаи, подобные этому отметили некоторые читатели. Я считаю, что Skype - очень хороший пример, из практики знаю, что он все равно работает в фоновом режиме (и это нормально и так и должно быть), но проблема в том, что это приложение сильно разряжает батарею устройства и Я больше не могу видеть это как следует. И наоборот, такие приложения, как Facebook, Badoo и т. д. они тоже по-прежнему работают в фоне, но их потребление практически незаметно (по крайней мере, я его не замечаю). Так что думаю ошибка в отдельных приложениях. Если бы вы знали какие именно, достаточно было бы вручную отключить только их!
Таким образом, практика такова, что Facebook запускается по мере необходимости, а Skype — только при необходимости.
Ну а с другой стороны, если мне нужно сэкономить заряд батареи и я знаю, что мне нужно держать iPhone «живым» как можно дольше, я тоже отключаю все ненужное в многозадачности, но в основном это не оказывает большого влияния, но при необходимости ограничиваю 3G, весь мобильный интернет, Wi-Fi, службы определения местоположения, режим полета, силу освещения и т. д. В рамках рутины я также отключаю вышеупомянутые приложения в многозадачности.
Так что лично я считаю, что статья правдивая, к сожалению некоторые программисты опровергают эти вещи своими приложениями, потому что их приложения некорректны и на мой взгляд есть только два решения для этого 1. Если есть возможность не использовать приложение и найти альтернатива, если есть возможность, или 2. Если нет возможности, см. например Skype, напишите об этом данному программисту в отчете и надейтесь, что они что-то с этим сделают.
Возможно, отключать приложения вручную бессмысленно, но я все равно это делаю. Я также старался не выключать систему приложений, не давать им работать (или оставлять их спящими в фоновом режиме) и время автономной работы было значительно ниже, также приходилось перезагружать iPad 2 примерно через три недели, он реагировал медленно. Поэтому я отключаю приложения вручную, батарея держится дольше, я недавно перезагрузился на Рождество, и все работает нормально.
Кстати, я делаю то же самое в Mac OS X, просто закрываю ненужное мне приложение (CMD+Q), это лучше, чем заставлять его спать в фоновом режиме и без надобности съедать оперативную память (что OS X может Работаю очень хорошо). Оперативной памяти у меня мало, всего 8 ГБ, но в Windows 7 с 8 ГБ система не реагировала медленно и не подкачивалась, в OS X это довольно распространенное явление (я никогда не выключал компьютер, с Mac тоже так делаю, так что месяц и более времени работы не исключение, проблема в том, что мне иногда приходится перезагружать Mac в качестве меры предосторожности, чтобы освободить оперативную память и "ускориться", Windows 7 в этом не нуждается).
Меня больше интересует, как на самом деле взорвать приложение. Со мной случилось то, что приложение (в частности, геокешинг) перешло в состояние, в котором оно загружало что-то с родительского сервера, и застряло в этом состоянии. Кнопка «Домой» работала, после перезагрузки она вернулась в замороженное состояние (с того места, где я остановился). Ручной выход (в меню мультитестинга, удерживайте иконку и минус для закрытия) = приложение пропало, после перезапуска открылось в исходном состоянии на котором и зависло. Итак, я закрыл все, выключил телефон, включил его, дважды щелкнул ДОМОЙ и о чудо — приложения все были на месте, как и до закрытия, непосредственно перед выключением. Перезапуск тоже не помог - держи дом и верх пока не нагреется. Единственное, что помогло, это удаление приложения с телефона, его перезагрузка и повторная установка на телефон. Как-то я не взял.
Это управление многозадачностью работает, и разработчики должны справиться с этими ситуациями. Для тех, кому интересно более подробное и профессиональное описание всей ситуации, напишу здесь, как она есть.
Приложение может реагировать в общей сложности на 6 состояний:
ПриложениеWillResignActive
ПриложениеDidEnterBackground
ПриложениеWillEnterForeground
ПриложениеDidBecomeActive
ПриложениеWillTerminate
ПриложениеDidReceiveMemoryWarning
Теперь я попробую описать эти состояния более подробно.
applicationWillResignActive – это состояние означает, что в будущем (в течение нескольких миллисекунд) приложение перестанет быть активным приложением (т.е. приложением переднего плана), это происходит, например, при поступлении вызова во время использования приложения, но в то же время это поэтому это состояние сработает еще до того, как приложение перейдет в фоновый режим, поэтому вам необходимо принять эти изменения во внимание. Этот метод также подходит для того, чтобы, например, приостанавливать все выполняемые действия при входящем вызове и ждать окончания вызова.
applicationDidEnterBackground — этот статус указывает, что приложение перешло в фоновый режим, разработчикам следует использовать этот метод для приостановки всех процессов, которые не обязательно должны запускаться в фоновом режиме, и очистки памяти от неиспользуемых данных и других процессов, например, таймеров истечения срока действия, очистки от загруженные в память изображения, которые не обязательно будут нужны, или разорвать соединение с серверами, если приложению не критично завершить соединение в фоновом режиме. По сути, этот метод при вызове в приложении следует использовать для полной приостановки приложения, если какая-то его часть не требуется для работы в фоновом режиме.
applicationWillEnterForeground — это состояние противоположно первому состоянию, когда приложение переходит в активное состояние. Это состояние приложения просто означает, что в следующие несколько миллисекунд спящее приложение возобновит работу из фонового режима и появится на переднем плане (приложение выходит на передний план). Разработчики должны использовать этот метод для возобновления любых процессов, которые были неактивны во время работы приложения. в фоновом режиме соединения с серверами должны быть восстановлены, таймеры сброшены, изображения и данные загружены в память, а другие необходимые процессы могут возобновиться непосредственно перед тем, как пользователь снова увидит загруженное приложение.
applicationDidBecomeActive – этот статус указывает, что приложение только что стало активным после восстановления на передний план, это метод, который можно использовать для внесения дополнительных настроек в пользовательский интерфейс или восстановления пользовательского интерфейса в исходное состояние и т. д. этот метод действительно происходит когда пользователь уже может видеть на дисплее, поэтому необходимо по балансу определить, что происходит в этом методе и в предыдущем методе. Они вызываются один за другим с разницей в несколько миллисекунд.
applicationWillTerminate — это состояние возникает за несколько миллисекунд до завершения работы приложения, то есть до того, как приложение фактически завершится. Либо вручную из многозадачности, либо при выключении устройства. Этот метод следует использовать для сохранения обработанных данных, а также для завершения всех действий и удаления данных, которые больше не понадобятся.
applicationDidReceiveMemoryWarning — и это условие, которое здесь много обсуждается, при необходимости iOS удалит приложение из памяти, если оно без надобности использует системные ресурсы. Я не знаю точно, что iOS делает с фоновыми приложениями, но если ей нужно приложение для освобождения ресурсов другим процессам, она выводит предупреждение о необходимости освободить имеющиеся ресурсы. Итак этот метод вызывается в приложении, и разработчики должны реализовать его так, чтобы приложение отдавало имеющуюся у него память, сохраняло обработанные и удаляло из памяти ненужные данные, а в остальном адекватно освобождало память. Это правда, что многие разработчики, например новички, не думают о таких вещах или не понимают их, и тогда может случиться так, что их приложение ставит под угрозу время автономной работы и/или излишне потребляет системные ресурсы даже в фоновом режиме. Я не знаю, как поведет себя iOS, если приложение после получения предупреждения о памяти ничего не сделает и продолжит потреблять системные ресурсы, как и раньше.
Эти несколько состояний и связанных с ними методов лежат в основе всей «многозадачности» в iOS… это отличная система, если разработчики не игнорируют необходимость нести ответственность за то, что приложения выдадут на устройствах своих пользователей, если их свернуть. или получать предупреждения от системы и многое другое…
Я надеюсь, что это краткое описание поможет вам понять, как приложение участвует в обеспечении бесперебойной работы. Так что почти можно сказать, что это ошибка неправильного использования пользователем, которую можно понимать так: если вы в большом количестве используете в основном бесплатные приложения от разработчиков-любителей, ваше iOS-устройство будет работать хуже, чем если бы вы использовали большой количество бесплатных и платных приложений от опытных или профессиональных разработчиков. Это не значит, что в обоих кругах нет исключений. Например, Foursquare ведет себя довольно странно и требовательно, и в то же время можно было бы ожидать, что это очень квалифицированные разработчики, которые много времени уделяют управлению памятью и батареей, но все наоборот. Самая большая проблема 4SQ — связь с серверами, которая часто зависает и перегружается. Это всего лишь пример того, что даже у известных приложений есть проблемы, что не меняет того факта, что 4SQ — отличный сервис.
Веселых яблок!! :)
Информацию в статью мы добавили с любезного разрешения автора ;-)
Извините, ENTER был везде между абзацами, могли бы здесь что-нибудь сделать, чтобы в комментариях было хоть немного РАЗРОЩЕННОГО ФОРМИРОВАНИЯ ТЕКСТА.
ArnieX: спасибо за комментарий!!
Тот Фарамир: Я как раз о вашей проблеме, не знаю, поможет ли это в вашем случае, но по своему опыту знаю, что если закрыть приложение (в многозадачности), то до его закрытия проходит несколько секунд, так что если вы выключаете его. Я рекомендую подождать несколько секунд (для уверенности я подожду примерно 10 секунд), пока он не завершится, и только тогда я запущу его снова.
Пожалуйста;) Я буду рад помочь, если у меня будет возможность внести свой вклад.
Как должно быть с Meeb, когда я через него захожу в аську или чат FB, он через 10 минут автоматически отключается и я ухожу в офлайн или он продолжает работать? спасибо за разъяснения :П
Через десять минут соединение приложения с Интернетом просто прерывается. Однако вы по-прежнему будете онлайн на сервере Meeba и получите push-уведомление, если вам кто-то напишет. После повторного открытия приложения соединение будет установлено через мгновение, и вы сможете продолжить общение.
Итак, если я правильно понял статью, на которую вы ссылаетесь, статистика относится только к сбоям приложений при их запуске, а это довольно небольшой процент случаев, когда сбои могут произойти. Поэтому сделать из этого «исследования» вывод о том, что iOS на мой взгляд менее стабильна, нельзя. Кроме того, переводчик статьи, взятой из Forbes, забыл упомянуть, что компания, предоставляющая данные о сбоях приложений, поддерживается, в частности, Google («Crittercism, поддерживаемая Google Ventures,...»).