Оглавление:
- Управление памятью Android
- Но ничто не идеально
- Интерфейс убийцы задач
- Ручное убийство задач
- AutoKilling
- Здесь есть специальный раздел для рутированных / ROM'd / Mad Scientist типов
Издание примечание: извините за проблему, все. Колонна сейчас здесь в полном объеме.
Всем привет. На этой неделе давайте поговорим о проблемах со стороны Android - эффективном управлении задачами.
Прежде чем мы начнем, да, я один из тех, кто скажет « Прекратите использовать убийцу задач » в качестве первого ответа на некоторые странные вопросы. Многие другие довольно знающие люди скажут то же самое. Они (мы) правы. Приложения-убийцы задач, как правило, вызывают много проблем просто потому, что их правильное использование может немного сбивать с толку, особенно со всей противоречивой информацией. Следуйте за нами после перерыва, и давайте разберемся с этим раз и навсегда.
Несколько дней назад у нас был пост на первой странице с подборками приложений для Android Central Editors. Наш главный редактор Дитер Бон выбрал TasKiller Pro. Конечно, второй или третий ответ в комментариях был быстрым, чтобы указать, что убийцы задач « портят телефон. «Это только укрепило мою мысль о том, что нам действительно нужно обсудить это вместе, и позволить каждому человеку решать свои потребности, а не уничтожать задачи убийц в целом.
Управление памятью Android
Android был спроектирован как многозадачный, огнедышащий зверь. Это позволяет приложениям сохранять свое место в оперативной памяти устройства и оставаться готовым вернуться к фокусу, когда он понадобится пользователю. Операционная система также очень хороша для совместного использования библиотек между приложениями, так что кодировщики приложений имеют большой набор функций, уже созданных на выбор. В идеальном мире (идеально подходящем для разработчиков) мы все будем использовать одни и те же приложения по одним и тем же причинам, и на этом все закончится.
Но ничто не идеально
Мы все используем разные приложения, в разное время, по-разному. Когда вы рассматриваете этот кошмар для разработчиков, удивительно, что Android (или любая мобильная операционная система) справляется с этой задачей так же, как и она. Давайте быстро и, надеюсь, легко понять, что происходит за этим экраном.
Приложение запускается либо потому, что вы его запустили, либо разработчик видит преимущество в том, что оно запускается за кулисами. Некоторые примеры последнего бита -
- Когда вы добавляете или удаляете приложение, запускается Google Voice (если он не работал). Он сканирует приложение, чтобы увидеть, нужно ли ему использовать или делиться с ним какими-либо функциями. Установить новый механизм преобразования текста в речь? Google Voice будет использовать его.
- Скопировать несколько фотографий с SD-карты на компьютер? Галерея должна запускаться, когда вы перемонтируете свою SD-карту, чтобы проверить наличие новых фотографий или видео, чтобы она могла отсканировать их и подготовить их к показу в нужном месте.
Все это звучит великолепно. Что мы не рассматриваем выше, так это то, что эти приложения будут оставаться в памяти устройства до тех пор, пока им не будет приказано закрыться. Они не будут использовать какие-либо другие ресурсы, просто сидите без дела и будьте готовы перерисовать себя на вашем экране. В сегодняшнем возрасте процессоров 1 ГГц + и высокоскоростной передачи данных мы испытываем нетерпение, когда хотим загрузить НОВОЕ приложение, а это не мгновенно. Мы хотим, чтобы наше устройство перемещалось между экранами. Мы хотим, чтобы наше устройство фокусировалось на новых приложениях. Мы хотим, чтобы наше устройство работало не так, как было задумано. Используя убийцу задач, правильный путь может приблизиться к этим целям.
Интерфейс убийцы задач
Каждое приложение выглядит и действует немного по-своему, и убийцы задач не являются исключением. Я буду использовать Advanced Task Manager для моих примеров. Я не рекомендую это выше любых других. Он соответствует моим потребностям и стоит $ 0, 99, поэтому я перестал искать альтернативы. Ваш выбор может выглядеть немного иначе, но должен иметь одинаковую функциональность. Просто просмотрите настройки, и вы найдете, где внести такие же изменения и варианты.
Ниже вы видите список запущенных приложений, которые убийца задач имеет право убивать, как только вы дадите ему разрешение. Вы не видите каждый запущенный процесс, и читая немного дальше, вы объясните, почему это хорошо. Мы немного вернемся к этому изображению, но возьмем секунду и посмотрим на него.
Ручное убийство задач
Лучший самый простой и наименее сложный способ использовать убийцу задач - это открыть его и вручную убить то, что вам не нужно, когда вы чувствуете, что все замедлилось. Хитрость заключается в том, чтобы знать, что еще не сработает, если вы отключите приложение. Такие вещи, как игры, веб-браузеры, словари или другие автономные приложения, как правило, являются безопасным выбором, если вы обнаружите, что они запущены. В приведенном выше примере Astro File Manager работает, потому что я искал файл, который я скачал. Я закончил с Astro, так что нет необходимости, чтобы он продолжал работать. Я мог бы благополучно убить его, и ничто другое не будет затронуто.
Вы не можете видеть это на моем скриншоте выше, но Маркет также работает. Я давно не открывал Рынок, но не собираюсь его убивать. Зачем? Потому что, если я это сделаю, то уведомления об обновлениях для моих установленных приложений Market не будут поступать. Есть много приложений, которые должны оставаться в живых, чтобы использовать все их функции. Вам придется немного подумать, прежде чем вы решите, можете ли вы просто отключить приложение. Вот общее представление о том, что думать:
- Приложения, которые напоминают вам о чем-то - я использую Astrid, чтобы помочь мне вспомнить задачи и сроки. Астрид может отключить уведомление, чтобы напомнить мне, когда приближаются события. Если я убью его, я не получу никаких напоминаний. Тогда я заблудился в своем компьютере, и ничего не было сделано.
- Приложения, которые ищут обновления. В предыдущем примере я оставил Маркет запущенным, чтобы он мог уведомлять меня о любых обновлениях приложений. Любые приложения, которые периодически ищут внешние данные, должны оставаться в живых, если вы хотите, чтобы они находили какие-либо из этих данных.
- Приложения, которые еще что-то делают - в моем примере Connectbot запущен. У меня есть активное соединение с сервером в гараже, который я обновляю. Я могу быстро переключаться и видеть прогресс, а также вводить команды прямо с моего телефона. Если я убью его, мне придется каждый раз открывать и снова подключаться.
AutoKilling
Диспетчеры задач обычно поставляются с функцией периодического отключения приложений. Здесь вещи становятся опасными. К счастью, большинство из них также поставляется с неким белым списком приложений, которые не убиваются во время этого авто-killfest. Хотя здравый смысл все еще нужен, некоторые приложения всегда должны быть в этом списке
- Любое приложение с именем производителя или носителя никогда не должно быть убито.
- Любое приложение, которое имеет слово Android. (да, период там нарочно) никогда не должен быть убит.
- Любое приложение, которое хранит время, никогда не должно быть убито.
- Любое приложение, имеющее виджет, который обновляет, никогда не должно быть убито.
- Любое приложение, которое не установлено в / data (именно туда идут пользовательские приложения), никогда не должно быть уничтожено.
- Если вы не можете точно определить, что такое приложение, оно никогда не должно быть убито.
- Замена дома, будь то с рынка или вашего производителя никогда не должна быть убита. Это также означает Sense, Blur и Touchwiz. У них также есть зависимости, которые должны остаться в живых, см. Номера 1, 5 и 6 выше. Конечно, если вы любитель тусовки и знаете, какие части системы вам не нужны для вашей конкретной установки, не стесняйтесь экспериментировать. И поделитесь своими результатами.
Это немного сужает ситуацию. Отметьте все свои игры, чтобы быть убитым. Отметьте все свои «автономные приложения» (например, Astro в приведенном выше примере) для уничтожения. Отмечайте вещи, которые вам нужны время от времени, но не хотите убегать за кулисы. Прочитайте, что осталось, и посмотрите, вписывается ли оно в какую-либо из перечисленных выше категорий. Если это так, отметьте это, чтобы никогда не быть убитым. Не забудьте рассмотреть такие вещи, как ConnectBot в моем примере. Я не хочу, чтобы он запускался постоянно, но пока я его использую, мне бы хотелось, чтобы он оставался в живых в фоновом режиме, поэтому я отмечу, что диспетчер задач НЕ будет автоматически убивать его. Конечно, вам придется установить задачу убийцы, чтобы он оставался в живых.
Если у вашего убийцы задач есть параметр, определяющий, как часто нужно завершать работу приложений, установите его так, как можно чаще. Я не вижу никакого смысла в том, чтобы запускать и не использовать убийцу задач, так как в этом причина его использования.
Как только это будет сделано, нажмите кнопку «Домой» и некоторое время игнорируйте все. Используйте телефон как обычно, но обратите внимание, если что-то начинает работать не так, как раньше. Если что-то начинает выходить из строя, взгляните на свой белый список и убедитесь, что данное приложение не должно быть убито. Я скажу сразу - никогда не убивайте свои часы, если вы хотите использовать будильник, места в последний момент в самолете, потому что вы пропустили свой рейс, намного дороже, чем те, которые были куплены через вашего агента по продаже билетов на неделю раньше времени,:)
И последнее, о чем следует помнить: когда / если у вас возникли проблемы с устройством и вам нужна помощь, обязательно упомяните, что вы используете убийцу задач и то, как вы его используете. «Помощь с тревогой на Cliq - используя ATK, но не убивая часы» является отличным примером этого. Вы по-прежнему будете получать ответы, в которых вам будет сказано прекратить использовать убийцы задач, но вы также можете получить что-то полезное. Если вы будете знать, что вы используете убийцу задач, но знаете, что «правильное» использование устранит некоторые негативные последствия. Кроме того, использование хороших описательных заголовков тем всегда поможет нашим модераторам форума и упростит поиск следующего человека с такими же проблемами.
Здесь есть специальный раздел для рутированных / ROM'd / Mad Scientist типов
В дебрях Рынка появился новый тип убийц задач. Они корректируют параметры ядра lowmemorykiller и позволяют вещам работать как обычно, а не заставлять пользователя (это меня и вас) пытаться управлять каждым приложением. Это имеет смысл, если учесть, что код для lowmemorykiller и его настройки не изменились с Android 1.0. Если вы готовы потратить время на настройку параметров в соответствии с вашими потребностями, это прекрасно работает. Также очень легко передать эти настройки в систему без приложения, записав определенные значения в системные настройки. Если это вас интересует (и если вы твикер, то должно!), Это было бы отличной темой для обсуждения на форумах по взлому, и я бы хотел принять в ней участие. Да, это подсказка:)
До скорого, Джерри