Почему виснет новый телефон на андроид. Почему тормозит Андроид

Компания Samsung – очень популярный производитель смартфонов и любимый бренд многих пользователей. Однако, нельзя отрицать тот факт, что смартфоны Samsung обладают рядом недостатков. Одними из самых популярных запросов в сети являются фразы «Samsung зависает», «завис Самсунг» и «Samsung S6 завис». Это подтверждает тот факт, что смартфоны корейской компании имеют склонность к частым зависаниям.

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

Множество причин может вызвать зависание телефонов Samsung, при этом гаджет становится совершенно безжизненным. Такая ситуация вызывает раздражение и растерянность, поскольку не существует гарантированного способа предотвратить проблему в дальнейшем.

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

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

Для того, чтобы перезагрузить зависший телефон, следуйте описанным шагам:

1. Одновременно нажмите на клавишу выключения питания и уменьшения громкости и удерживайте их длительное время (более 10 секунд).

2. Дождитесь появления логотипа Samsung и начала нормальной загрузки телефона.

Этот простой способ позволит вам пользоваться телефоном до следующего зависания. Для предотвращения последующих зависаний следуйте советам, приведенным ниже.

Почему тормозит, глючит и зависает телефон Samsung, причины?

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

Телефоны Samsung могут зависать по множеству причин. Для удобства мы приводим некоторые из наиболее распространенных, из-за которых может возникать эта ошибка.

Touchwiz

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

Тяжелые приложения

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

Виджеты и ненужные функции

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

Небольшой объем памяти

Смартфоны Samsung не отличаются большим объемом встроенной памяти, и это может приводить к зависаниям. Маленькое количество оперативной памяти просто не способен одновременно выполнять большое количество операций. Кроме того, многозадачность в любом случае перегружает систему и препятствует нормальной работе приложений.

Описанные причины вызывают регулярные зависания телефонов Samsung. Учитывая то, что мы хотим сократить их число, хорошей мерой может стать перезагрузка устройства. Дочитайте статью до конца, чтобы узнать больше.

Как уже отмечалось, существует множество причин зависания телефонов Samsung. Тем не менее, используя советы, описанные далее, вы сможете решить эту проблему. Их можно рассматривать в качестве ориентиров, которые необходимо держать в голове при ежедневном использовании телефона.

Удалите ненужные и тяжелые приложения

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

Для этого:

1. Откройте меню настроек (Settings) и найдите в нем раздел «Управление приложениями» (Application Manager) или «Приложения» (Apps).

2. Выберите приложение, которое вы хотите удалить.

3. Для удаления в списке опций найдите и нажмите «Удалить» (Uninstall).

На некоторых моделях смартфонов вы можете удалять тяжелые приложения напрямую с домашнего экрана (Home Screen) или из Google Play Store.

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

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

Смысл этой процедуры заключается в подтверждении того, что сторонние приложения имеют какое-нибудь отношение к проблеме зависания. Если это так, то при загрузке в обычном режиме телефон может опять зависать. Для того, чтобы произвести загрузку телефона в безопасном режиме, проделайте следующее:

1. Нажмите и удерживайте кнопку выключения питания.

2. При появлении логотипа Samsung отпустите кнопку и сразу же нажмите и удерживайте клавишу уменьшения громкости до окончания перезагрузки.

3. После появления на экране надписи «Безопасный режим» (Safe mode) отпустите клавишу уменьшения громкости.

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

Очистите кэш и удалите подозрительные приложения на Самсунге

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

Вот как очистить кэш на Самсунге:

  1. Перейдите в «Настройки» (Settings).
  2. Выберите «Приложения» (Applications) и «Управление приложениями» (Application manager).
  3. Вывелите общий список приложений.
  4. Найдите и нажмите на название подозрительного приложения.
  5. Произведите принудительную остановку работы приложения (Force Close), нажав соответствующую надпись.
  6. Выберите пункт «Хранение данных» (Storage).
  7. Произведите очистку кэша и данных, нажав Clear и Clear data.

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

Вот как сделать сброс настроек на Самсунге:

  1. На домашнем экране выберите значок «Приложения» (Apps).
  2. Перейдите в «Настройки» (Settings), затем выберите «Архивирование данных и сброс» (Backup and reset).
  3. Нажмите на кнопку «Возврат к заводским настройкам» (Factory data reset), а затем «Произвести сброс» (Reset device).
  4. Если на вашем телефоне включена защита данной функции, то введите ваш пароль или PIN-код.
  5. Нажмите «Продолжить» (Continue).
  6. Подтвердите свои действия, выбрав «Удалить все» (Delete all).

Произведите очистку разделов для того, чтобы обновить системный кэш

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

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

  1. Выключите телефон.
  2. Нажмите и удерживайте кнопки возврата на начальный экран (Home) и увеличения громкости, затем нажмите и удерживайте кнопку выключения питания.
  3. При появлении на экране логотипа Samsung отпустите кнопку питания, продолжая удерживать остальные.
  4. После появления логотипа Android можете отпустить обе кнопки. Оставьте телефон на 30-60 c.
  5. Используя кнопку уменьшения громкости для перемещения в меню, найдите пункт «Очистка разделов кэша» (Wipe cache partition).
  6. Для выбора нажмите кнопку выключения питания.
  7. Найдите вариант «Да» (Yes) и выберите его с помощью клавиш уменьшения громкости и выключения питания.
  8. Дождитесь окончания очистки разделов кэша. После завершения выберите «Перезагрузить систему сейчас» (Reboot system now) и нажмите клавишу выключения питания.
  9. Телефон будет загружаться дольше обычного.

Если и эта процедура не помогла, то не остается другого варианта, кроме перезагрузки устройства.

Сохраняйте приложения во внутренней памяти телефона Самсунг

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

1. Откройте меню настроек (Settings) и выберите «Хранение данных» (Storage).

2. Из списка приложений (Apps) выберите то, которое вы хотите переместить.

3. Теперь нажмите «Переместить во внутреннюю память» (Move to Internal Storage) как показано ниже.

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

Что делать, если телефон или планшет на платформе Андроид тормозит, зависает или стал работать медленнее? Для того чтобы в корне решить проблему, нужно понять «откуда растут ноги».

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

Лимит фоновых процессов андроид.

Лимит фоновых процессов в вашем андроид, позволяет:

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

Необходимо зайти в ‹меню настройки› и почти в самом низу есть раздел меню «Для разработчиков» , ищем в этом разделе «Лимит фоновых процессов» .

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

Функция «Лимит фоновых процессов » ограничивает эти самые задачи, а точнее количество запущенных программ.С ее помощью можно:

  • или отключить вообще фоновый режим
  • или наложить ограничения на количество запущенных приложений

Настройка.

Разберем более детально, как ограничить количество запускаемых программ в вашем смартфоне или планшете. Идем в настройки вашего устройства → далее → «Для разработчиков» ищем в самом низу пункт приложения и в нем есть подпункт → «Лимит фоновых процессов» в нем и выбираем необходимую для вас конфигурацию настройки.

Эта настройка особенно будет удобно для устройств, у которых мало оперативной памяти.

Все зависания, которые связаны с приложениями использующие интернет, зачастую виснут по причине плохого соединения сети и никак не связаны с самим устройством. Завышенный ping (медленный отклик на действие), который происходит по вине провайдеров, создаёт массу проблем. Эти проблемы влекут за собой зависания любого устройства или его встроенных функций, которые используют интернет. Причина тут в провайдере.

Советы по оптимизации вашего планшета или смартфона на андроид.

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

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

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

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

Если андроид завис намертво.

Иногда, «конфликт» какого-нибудь приложения или программы может вызвать критическую ошибку и сбой мобильной платформы. Из-за чего, телефон или планшет зависает намертво, а иногда даже не работает кнопка выключения. В подобной ситуации, нужно достать батарею и вставить ее обратно. Если мертвые зависания не прекратятся, поможет сброс настроек на заводские.

Со временем телефон начитает подтормаживать и глючить после покупки. Это довольно популярная проблема на Android. Медленным телефоном практически невозможно пользоваться. Он слишком поздно реагирует на нажатия, долго запускает приложения, при этом иногда даже не реагирует на действия пользователей. В большинстве случаев это (как оперативной, так и постоянной). Решением проблемы может стать чистка телефона от ненужных файлов и программ, а также обновление системы.

Очищаем системную память телефона

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

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

Чистка кэша и остановка ненужных служб

Одним из вариантов является очистка кэша приложений или остановка ненужных служб android. Стандартные функции системы «Андроид» позволяют это сделать каждому пользователю. После этого ваш аппарат будет тупить намного меньше. Особенно большие объемы временных файлов могут храниться в браузерах и приложениях социальных сетей. Сделайте следующие шаги для решения проблемы:

  1. Согласно предыдущей инструкции, перейдите в список всех приложений на вашем телефоне.
  2. Выберите программу, в которой необходимо удалить кэш.
  3. Нажмите кнопку «Очистить кэш».

В разделе «Работающие приложения» вы можете найти активные программы и службы. Некоторые из них можно остановить, освободив место в оперативной памяти.

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

Очистка папки загрузки

Когда пользователь скачивает для просмотра различные видео или документы, они остаются в специальной папке «Загрузки». Если туда долго не заглядывать, мобильник может серьезно тормозить из-за критической нехватки памяти. Рекомендуем почистить от ненужных файлов данный каталог. Для этого вам необходимо перейти в браузер файлов, а на встроенной памяти найти папку Download. После очистите ее.

Используем сторонние приложения

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

Популярной и простой в обращении программой для таких задач является Clean Master. Приложение распространяется в Google Play абсолютно бесплатно, а также имеет широчайший функционал. Что делать, если тормозит андроид? Очистите кэш при помощи Clean Master. Для этого необходимо:

В Play Market также доступны десятки аналогов, которые не менее эффективно справятся с чисткой android. Чтобы в дальнейшем меньше лагало, рекомендуем регулярно выполнять подобную процедуру.

Андроид тормозит, что делать: крайние меры

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

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

Операционная система Android – невероятно популярная платформа, которая давно получила признание и одобрение во всем мире.

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

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

Данный список можно продолжать долго, но мы не будем. Хочется поговорить о таком минусе Android, как его «лагания» и «торможения». Безусловно, купив новый планшет или смартфон, вы нарадоваться не можете его быстродействию и плавности. Но через некоторое время у пользователей возникает вопрос: «Почему тормозит Андроид?». Что ж, постараемся ответить.

Статья обновлена в мае 2018 года.

Фоновые процессы

Скачанные игры и программы надоели и вы ими практически не пользуетесь, но удалять их почему-то жалко. «Вдруг пригодятся», «она же пройдена наполовину»: подобные мысли посещают многих из нас. Ладно, не удаляйте их. Но исключить ненужные приложения из необходимо, ведь они тоже «кушают» оперативную память и нагружают ЦП.

Захламленность системы

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

Переполнена оперативная память

Речь идет как об оперативной, так и о физической памяти, другими словами, накопителе. Нужно понимать, что на устаревших или бюджетных смартфонах объем памяти обычно низкий, поэтому она быстро переполняется. Если недостаток флеш-накопителя не так критичен, то маленький объем свободной ОЗУ – одна из главных причин, почему тормозит телефон. Периодически освобождается ОЗУ устройства, следуя .

Накопитель, приложения и игры

Купили планшет или смартфон, что первым делом сделаете? Наверняка закачаете с десяток классных игр и немного софта. Запретить это – дело не из благородных, но убедить соблюдать меру необходимо. Не нужно «захламлять» свой девайс. Замечено, что смартфон тормозит именно тогда, когда забивается внутренняя память.

Карта памяти

Часто причиной медленной работы смартфона является поврежденная или устаревшая карта памяти. Гаджет начинает тормозить в момент считывания информации с флеш-накопителя – это может быть просмотр видео или фотографий, запуск игр и приложений. Сделать диагностику крайне просто – извлеките карту памяти и проверьте, как работает устройство. Если заметны изменения в лучшую стороны, замените накопитель на новый.

Виджеты и лаунчеры

Виджет – удобный и красивый элемент, который может отображать и уровень заряда батареи, и погоду, и настройки. Все это прекрасно, но мощность бюджетного устройства нельзя переоценивать. Если Android начал тормозить, посмотрите на рабочий стол: много ли на нем виджетов? Если да, то придется с некоторыми попрощаться, так как они тоже любят потреблять ресурсы. То же самое касается различных лаунчеров. Придется выбирать между внешним видом и быстродействием.

Ниже на скрине можно заметить, что Погода Yahoo и HD Widgets на двоих «кушают» 22,5 МБ оперативной памяти. Это, конечно, не самая огромная цифра, но все же.

Сброс настроек

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

Итог

Мы рассказали о самых распространенных причинах, из-за которых тормозит Android. Если вы их изучили и исправили, можно приступить к комплексному и планшета.

Безусловно, есть множество факторов, которые понятны не каждому рядовому пользователю. Если у вас есть вопросы или проблемы с устройством – пишите и спрашивайте, будем рады помочь.

Вызвал бурное обсуждение в комментариях, основным мотивом которого был вопрос «так почему же тормозит Android?». Аналогичная ситуация наблюдается по всему интернету, и потому я привожу ниже еще один очень интересный и свежий перевод (снова из Google+), где автор Andrew Munn (о нем ниже) анализирует настоящие причины тормозов Android. С удовольствием прочитал этот пост сам и горд возможностью первым поделится им с хабрасообществом.

Почему Android тормозит, в то время как iOS, Windows Phone 7, QNX и WebOS столь плавны в работе?

Этот пост призван ответить на этот вопрос.

Однако, прежде чем перейти к сути, несколько оговорок. Во-первых, я студент третьего курса специальности «software engineering». Я интернирован в команде Android, и Romain Guy который был ответственен за большую часть работы аппаратного ускорения в Honeycomb, рассмотрел некоторые участки и моего кода, но я не был в команде разрабатывающей сам framework, и я никогда не читал исходники кода отрисовки в Android. У меня нет какого-либо серьёзного авторитета на знание Android и я не могу гарантировать, что я говорю здесь, обязательно на 100% точно, но я сделал все возможное, чтобы аргументировать свои слова.

Во-вторых, я на стажировке в команде Windows Phone, начиная с января, так что вполне возможно, что эта должность могла бы подсознательно настроить меня против Android, но если вы спросите любого из моих друзей, это действительно трудно, попросить меня не болтать об Android. У меня больше Android футболок, чем дней в неделю, и я предпочел бы отдать мой Macbook, чем мой Nexus S. Googlplex это как второй дом. Во всяком случае, мои интересы, пожалуй, смещены в пользу Android.

Итак приступим к анализу предыдущей статьи о мифах (речь идет о полной версии поста Дианы Hackborn).

Диана начинает свой пост удивительным откровением:

«Глядя на рендеринг внутри окна, мы не обязательно должны использовать аппаратное ускорение для достижения полных 60FPS. Это во многом зависит от количества пикселей в дисплее и скорости вашего процессора. Например, у Nexus S нет проблем с 60 кадрами в секунду для всех нормальных вещей которые вы видите в Android UI, как например прокрутка списков на своем 800x480 экране.»

Да ну? Как такое может быть? Любой, кто использовал Nexus S знает, что он замедляется при всем, кроме разве что простого ListViews. И забудьте про любое подобие достойной производительности, если в фоновом режиме, что-то происходит, например установка приложения или обновления пользовательского интерфейса с внутреннего накопителя. С другой стороны, іOS работает на 100% гладко даже при установке приложений. Но мы знаем, Диана не врет о потенциальной производительности центрального процессора, так что же происходит?

Основная причина

Это не паузы из-за сборщика мусора. Это не потому, что Android работает через байт-код, а іOS работает на нативном коде. Это потому, что в iOS рендеринг всего интерфейса происходит в отдельном потоке пользовательского интерфейса в режиме приоритета реального времени. С другой стороны, Android следует традиционной для ПК модели, в которой основной рендеринг происходит с нормальным приоритетом.

Это не абстрактная или академическая разницы. Вы можете увидеть это самостоятельно. Хватайте ближайший iPad или iPhone и открывайте Safari. Начните загрузку сложной веб-страницы, такой как Facebook. На середине загрузки, приложите палец к экрану и подвигайте им вокруг. Вся отрисовка мгновенно останавливается. Сайт просто не будет загружаться, пока вы не уберете палец. Это потому, что поток пользовательского интерфейса перехватывает все события и рендеринг пользовательского интерфейса осуществляется в режиме реального времени.

Если вы повторите это упражнение на Android, вы заметите, что браузер будет пытаться как отрисовать страницу, так и отобразить HTML, т.е. сделать «на отлично» как одно так и другое. Для Android, это тот случай, когда эффективный двухъядерный процессор действительно помогает, поэтому Galaxy S II и славится своей плавностью.

На iOS, когда приложение устанавливается из App Store, а вы приложите палец к экрану, установка мгновенно поставится на паузу, пока рендеринг не будет завершен. Android старается сделать и то и то с одинаковым приоритетом, поэтому частота кадров страдает. Как только вы заметите как это происходит, вы увидите что это повсюду на телефоне Android. Почему прокрутка в приложении «Фильмы» медленная? Поскольку эскизы фильмов динамически добавляются к списку фильмов, когда вы прокручиваете вниз, а вот на iOS они спокойно добавляются только в момент остановки прокрутки.

Несколько людей взялись объяснить ошибки, допущенные мною в упрощенном описании процесса отрисовки в iOS. В частности:

1) Композитинг и пред-настройка анимации - все что включает в себя Core Animation и рендеринг сопутствующих слоев действительно происходит в фоновом потоке.

2) Отрисовка нового контента в слое Core Animation и настройка их анимации происходит в основном потоке. Это то же поток в котором происходит отрисовка пользовательского интерфейса.

3) В нативном коде, весь создаваемый разработчиком код будет происходить в основном потоке. Тем не менее, Apple предлагает очень простой API (Grand Central Dispatch и NSOperation), чтобы переместить эти вещи в управляемые системой фоновые потоки. В iOS 5 можно даже заявить что Core Data (объектно-реляционные базы данных) контекст не может быть использован непосредственно в основном потоке.

Что же мы замечаем? Изображение не отрисовывается пока вы не закончите прокрутку списка, рендеринг страницы в WebKit останавливается, когда система отслеживает прикосновение к экрану, это изначально встроенный механизм, который ставит на паузу весь мир, пока палец на экране.
(На самом деле это не совсем верно: главный поток помещается в специальный режим во время слежения за сенсором, и по умолчанию, определенные обратные вызовы задерживаются в этом режиме. Тем не менее, многие другие вещи, например, загрузка с диска или сетевая активность хранятся полностью в фоновом потоке, не останавливаясь, ничто из этого автоматически не приостанавливается в момент прокрутки. Разработчик должен указать явно задержки для этих вещей). Это преднамеренное поведение тщательно реализовано разработчиком каждого отдельного приложения.

Это не техническое различие, это культурные различия. Хорошие разработчики под iOS не выпускают программное обеспечение, пока не работает на что-то около 60 кадров в секунду при прокрутке и отслеживает прикосновения практически идеально, как впрочем это делают и хорошие разработчики под Android.

Другие причины

Основная причина по которой Android тормозит это структура потоков UI и их приоритетность, но это не единственная причина. Во-первых, аппаратное ускорение, несмотря на оговорки Дианы, все-таки помогает. Мой Nexus S прежде никогда не работал так плавно с момента обновления до ICS [прим.перевод: Мой тоже! :)]. Аппаратное ускорение дает огромную разницу в приложениях, таких как домашний экран и Android Market. Помощь оказанная GPU также увеличивает время автономной работы, потому что графические процессоры - это оборудование с фиксированными функциями, так что они работают с меньшим энергопотреблением.

Во-вторых, вопреки тому что я утверждал ранее, сбор мусора по-прежнему проблема, даже при работе по совместительству с GC в Dalvik. Например, если вы когда-либо использовали приложение фотогалерея в Honeycomb или ICS вы можете удивиться, почему частота кадров такая низкая. Оказывается, частота кадров ограничена числом 30 кадров в секунду, а прокрутка фотографий возможна и при 60 FPS в большинстве случаев, но иногда паузы сборщика мусора приводят к заметному «заиканию». Ограничение частоты кадров до 30 исправляет «заикание» и обеспечивает плавную анимацию все время.

В-третьих, есть проблемы с оборудованием, что также упоминается Дианой. Tegra 2, несмотря на грандиозные претензии от отдела маркетинга Nvidia, наносит ущерб низкой пропускной способности памяти и не имеет поддержки набора инструкций NEON (NEON инструкции в ARM это эквивалент SSE от компании Intel, которые позволяют быстрее рассчитывать матрицы на CPU). Honeycomb таблетки были бы лучше с различными GPU, даже если они были бы теоретически менее мощные в некоторых отношениях, нежели Tegra 2. Например, Samsung Hummingbird в Nexus S или Apple A4. Это говорит нам, что самый быстрый выпущенная Honeycomb планшет, Tab Galaxy 7.7, работает под управлением процессора Exynos с Galaxy S II.

В-четвертых, Android имеет способ перейти на более эффективный композитинг пользовательского интерфейса. в iOS, каждый вид пользовательского интерфейса отображается отдельно и хранится в памяти, так для многих анимаций требуется только GPU для просмотра рекомпозиции пользовательского интерфейса. Графические процессоры очень хороши в этом. К сожалению, на Android, иерархия пользовательского интерфейса уплощена до рендеринга, поэтому анимация требует перерисовки каждого сектора экрана в которой она происходит.

В-пятых, Dalvik VM не так развита, как десктопная JVM. Java печально известна ужасной производительностью GUI на десктопах. Тем не менее, многие вопросы, не переносятся на реализацию Dalvik. Swing был ужасен, потому что являлся кросс-платформенным слоем на вершине родной API. Интересно отметить, что Windows Phone 7 в основной пользовательский интерфейс построен на нативном коде, хотя первоначальный план был - базироваться полностью на Silverlight. В Microsoft в конце концов решили, что для придания интерфейсу необходимой производительности, код должен быть родным. Это легко увидеть разницу между родным и байт-кодом на Windows Phone 7, поскольку сторонние приложения написанных на Silverlight уступает в производительности (Nodo и Mango смягчили эту проблему и Silverlight интерфейсы, как правило, сейчас очень плавные).

К счастью, каждый из пяти вопросов, перечисленных выше, разрешим без радикальных изменений в Android. Аппаратное ускорение будет на всех телефонах под управлением Android ICS, Dalvik продолжает совершенствовать эффективность своего сборщик мусора, Tegra 2, наконец, устареет, есть обходные пути для существующих проблем композиции интерфейса, и Dalvik VM становится быстрее с каждым выпуском. Недавно я спросил Джейсона Кинкейда с TechCrunch, насколько плавной была работа Galaxy Nexus и он ответил:

«В целом я счел ICS по Galaxy Nexus достаточно плавным в работе. Есть случайные заикания - одно место, где я могу получить последовательно испуг на Galaxy Nexus, это когда я нажимаю кнопку многозадачности, где он часто будет приостанавливается ​​на четверть секунды. Тем не менее, я считаю, что iPhone 4S также подтормаживал больше, чем я ожидал, особенно, когда я переходил на доступ к общему поиску приложений (где вы проводите пальцем влево от главного экрана).»

Итак, поехали, проблема тормозов Android в основном решена, не так ли? Не так быстро.

Вперед в будущее

Android UI никогда не будет совершенно плавным из-за конструктивных ограничений, которые мы обсуждали в самом начале:

Рендеринг интерфейса происходит на главном потоке приложения;
- Рендеринг интерфейса происходит с нормальным приоритетом;

Даже с Galaxy Nexus, или четырехъядерным процессором EeePad Transformer Prime, нет никакого способа, чтобы гарантировать гладкость и приемлемую частоту кадров, если эти два конструктивных ограничения остаются в силе. Это говорит, что мощности Galaxy Nexus хватит чтобы сравнится по плавности работы с первым iPhone трехлетней давности. Так почему же команда Android использовала именно такую структуру рендеринга?

Работа над Android началась еще до выхода iPhone, и на тот момент система Android была разработана, чтобы быть конкурентом Blackberry. В оригинальном прототип Android не было сенсорного экрана. Компромиссы Android имеют смысл устройств с аппаратной клавиатурой и трекболом. И когда вышел iPhone, команда Android бросилась к выпуску конкурента этому продукту, но, к сожалению, было уже слишком поздно, чтобы переписать весь пользовательский интерфейс системы.

Это же самая причина, почему Windows Mobile 6.5, Blackberry OS, Symbian имеют ужасную производительность сенсорного экрана. Как и Android, они не были предназначены для «приоретиризации» рендеринга пользовательского интерфейса. После выпуска iPhone, в RIM, Microsoft, и Nokia отказались от своих мобильных ОС и начали разработку с нуля. Android является единственной мобильной ОС, которая существовала до «эры iPhone».

Так почему же команда Android не изменила существующее положение дел? Я позволю Romain Guy объяснить:

"… Много работы, которую мы должны сделать сегодня, существует из-за определенного выбора, сделанного много лет назад…… С анимацией пользовательского интерфейса самая большая проблема. Мы работаем над другими решениями, чтобы попытаться улучшить её (возможность использования отдельный поток рендеринга, и т.д.). Простое решение, конечно, это создание нового графического инструментария но есть много минусов в этом подходе. "

Ромен не уточняет какие минусы и недостатки в этом решении, но это не сложно предположить:

Все приложения должны быть переписаны для поддержки новой структуры;
- Android должен будет обеспечить режим поддержки для старых приложений;
- Работа на другие особенностями Android будет приостановлена, до то времени как новая система будет разработана;

Однако я считаю, что написание «с нуля» должно произойти, несмотря на эти минусы и недостатки. Как начинающий менеджер, я считаю, медлительность Android абсолютно неприемлемой. Следует сделать этот вопрос приоритетом №1 для команды Android.

Когда тема Android поднимается как технически подкованными, так и не-технически образованными друзьями, я слышу снова и снова, что Android тормозит и работает медленно. Реальность такова, что Android может открывать приложения и отображать веб-страницы так же быстро или даже быстрее, чем iOS, но восприятие - это всё. Исправление тормозящего UI это будет начало долгого пути, чтобы восстановить репутацию и образ Android.

Восприятие проблемы, тормоза - это нарушение философии компании Google. Google считает, что все должно быть быстрым. Вот ведущая философия Google Search, Gmail, и Chrome. Именно поэтому Google создал SPDY - для улучшения HTTP. Именно поэтому Google создает инструменты, помогающие оптимизировать ваш сайт. Именно поэтому Google запускает свой собственный CDN. Именно поэтому Google Maps отображается при помощи WebGL. Именно поэтому буферизации на Youtube что-то то что большинство из нас хорошо помнит, но видят все реже.

Но, пожалуй, одна наиболее важных причин отставания в интерфейсе Android неприемлемо исходит из области человеко-машинного взаимодействия (HCI). Современные сенсорные экраны предполагают соответствие «один к одному» между пальцем и анимацией на экране. Именно поэтому эффект перепрокрутки в iOS (эластичная резинка) это так здорово, весело, и интуитивно понятно. И именно поэтому сенсорные экраны авиакомпании Virgin America Flights так расстраивают: они невероятно тормозят и очень неточно срабатывают.

Тормоза пользовательского интерфейса прерывают связь человека и сенсорного экрана. Общение с устройством перестает быть естественным. Оно теряет магию. Пользователь исключается из взаимодействия с ними и должен безоговорочно признать, что они используют несовершенное компьютерное моделирование. Я часто «теряюсь» в іPad, но меня аж передергивает, когда Xoom заикается между экранами. 200 миллионов пользователей Android заслуживают лучшего.

И я знаю, они получат это в конечном счете. Команда Android является одной из самых преданных и талантливых команд разработчиков в мире. При таких звезд, как Диана Hackborn и Romain Guy Android находится в хороших руках.

Я надеюсь, что эта публикация сократит путаницу вокруг тормозов Android.
Немного удачи, и Android 5.0 принесет нам плавный Android, о котором мы все мечтали, с момента выхода HTC G1. В то же время, я буду в Редмонде работать над красивой и плавной мобильной ОС, и пытаться дать ей некоторое признание, которого она заслуживает.