Я получил смешанные ответы от различных веб-сайтов и людей по этому вопросу, и я хотел бы выложить его для всех вас, чтобы ответить раз и навсегда.
Вопрос заключается в том, принуждает ли принудительное закрытие приложений (то есть двойной щелчок по кнопке «домой», а затем смахивание на них) иметь какую-либо выгоду от заряда батареи или общей производительности iPhone или любого другого устройства iOS?
iphone
ios
battery
performance
Munesawagi
источник
источник
Ответы:
Было много споров и дискуссий по этой теме. Я считаю, что это было выгодно для iOS в дни v3 и v4, но сейчас это не так.
Крэйг Федериги даже недавно вышел, сказав, что в этом нет необходимости, и это не увеличивает время автономной работы. Apple имеет встроенную систему управления памятью, чтобы в нужное время приостанавливать и / или отключать приложение. Единственное время, когда вы должны принудительно закрыть приложение, это если оно перестало отвечать на запросы.
источник
В одном случае принудительное завершение может иметь преимущество для iOS, которое перевешивает стоимость дополнительной обработки, необходимой для очистки процесса, его перезапуска и очистки любых файлов, которые кэшируются / открываются.
Недостатком этого является то, что приложения не работают в фоновом режиме - поэтому, когда вы переключаетесь на новое приложение или трамплин / список значков / экран блокировки - iOS уже остановила / приостановила / сбросила всю активность файловой системы для приложения.
Он сообщает замороженному приложению, что ему необходимо полностью заново инициализировать себя, не обращая внимания на сохраненное состояние или кэшированные результаты. Он сигнализирует Apple в форме отчета о сбое (и, возможно, разработчику) о том, что некоторые хлебные крошки находятся именно там, где приложение было в коде, когда оно было «убито» пользователем.
Думайте об этом как о хирургическом вмешательстве - вы наносите явный вред в краткосрочной перспективе - если вы не уверены, что операция необходима, не принимайте удар производительности и принудительно прекращайте работу.
источник
В последнее время эта тема снова горячая. Я твердо верю, что принудительно выходить из приложений на устройствах iOS бесполезно. Полезно перезапускать приложения только после их сбоя. Здесь больше информации.
9to5Mac:
Здесь, из официального документа поддержки по принудительному закрытию приложений, содержится собственный совет Apple о том, когда использовать эту функцию:
MacDailyNews цитирует электронное письмо 2010 года от Стива Джобса:
На всякий случай, если вы не верите старшему вице-президенту Apple по программному обеспечению, собственной официальной документации по поддержке Apple или Стиву Джобсу, вот несколько других статей, в которых рассказывается о том, как эта привычка наносит вред работе батареи iPhone:
источник
Теоретически да. Приложения, работающие в фоновом режиме, потребляют память (их потоки все еще существуют, и поэтому вы можете увидеть их в списке, если дважды щелкнуть кнопку «Домой»), и, следовательно, они потребляют батарею.
Но практически, не совсем. iOS довольно хорошо справляется с управлением памятью, а приложения, работающие в фоновом режиме, потребляют лишь небольшое количество памяти. И если другим приложениям, работающим на переднем плане (активно работающим и пользователи взаимодействуют с ними), требуется больше памяти, система iOS может завершить фоновые приложения и очистить память. Причина, по которой иногда принудительное закрытие приложения, по-видимому, экономит память / время автономной работы, заключается в том, что некоторые приложения могут запрашивать выполнение долго выполняющихся задач, даже работающих в фоновом режиме, например, для фоновой выборки, периодической синхронизации данных, и т. д. (обратите внимание, что не каждое приложение делает это). Но вы можете отключить их, настроив фоновое обновление приложения в Настройки -> Общие.
Итак, подведем итог: для приложения, которое мало работает в фоновом режиме, принудительное закрытие не даст заметных преимуществ.
источник
Suspended
вскоре после перехода в фоновый режим, и «пока приложение приостановлено, приложение остается в памяти, но не выполняет никакого кода». Процесс приложения все еще там, если не будет остановлен iOS. Если у вас есть XCode (инструмент разработчика для приложений iOS), вы можете использовать Debug-> Attach to Process и просматривать список процессов на вашем телефоне, даже если на переднем плане ничего не работаетapplicationDidEnterBackground:
возвращения метода делегата приложения система делает снимок окон приложения . Аналогичным образом, когда приложение активируется для выполнения фоновых задач, система может сделать новый снимок, чтобы отразить любые соответствующие изменения. Например, когда приложение просыпается для обработки загруженных элементов, система делает новый снимок, который может отражать любые изменения, вызванные включением элементов. Система использует эти снимки в пользовательском интерфейсе многозадачности, чтобы показать состояние вашего приложение." Это то, что я имел в виду.Я обнаружил, что прекращение работы приложения Facebook, в частности, может сэкономить заряд батареи. После проверки его использования в разделе батареи (Настройки> Батарея> Время), я не могу не быть уверенным, что он не играет хорошо.
источник