25 ноября 2015 в 14:47

Android. Автозапуск приложения при загрузке: теория и практика

  • Разработка под Android
  • Особенности режима Fast boot в HTC-устройствах. Известно, что HTC-устройства не перезагружаются в классическом смысле, а используют так наз. режим Fast boot (это одна из форм гибернации), сохраняя состояние ОС на диск. Поэтому сообщение ACTION_BOOT_COMPLETED не отправляется системой, т.к. в действительности перезагрузка не происходит (). Вместо ACTION_BOOT_COMPLETED система может отправить следующие сообщения:


    В вашем приложении укажите в теге «receiver» кроме ACTION_BOOT_COMPLETED также вышеуказанные сообщения. Кроме этого необходимо прописать разрешение в дополнение к п.1:

  • 2. Практика: ошибки и особенности эксплуатации

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

    3. Отладка ресивера в эмуляторе и на реальных устройствах.


    Итоги

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


    Код ресивера, как правило, будет таким:

    Public class BootCompletedReceiver extends BroadcastReceiver { public BootCompletedReceiver() { } public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { Toast toast = Toast.makeText(context.getApplicationContext(), context.getResources().getString(R.string.your_message), Toast.LENGTH_LONG); toast.show(); Log.d("myapp", context.getResources().getString(R.string.your_message); // ваш код здесь } } }
    Надеюсь, эта статья поможет новичкам побороть «коварного врага» под названием «ACTION_BOOT_COMPLETED».

    Года 2 мы уже видим, насколько сильно изменилась система Android и насколько серьезно ее доработали в Google, сделав ее удобной, быстрой, с плавным интерфейсом, с огромными возможностями. Теперь уверенно можно сказать, что Android ни в чем не уступает своему основному конкуренту iOS.

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

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

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

    Не стоит бояться работать с BootManager. Для начала нужно установить Xposed framework, что можно скачать по этой ссылке . Для установки вам также понадобятся root-права. Заранее стоит об этом побеспокоиться.

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

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

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

    Скачать приложение BootManager можно в Google Play маркете по данной ссылке .

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

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

    Нашли ошибку? Выделите ее и нажмите Ctrl+Enter

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

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

    Зачем из автозапуска?

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

    После установки различных приложений они без вашего разрешения сами добавляются в «Автозапуск». Именно поэтому необходимо отключить автозагрузку программ в Windows 7, которыми вы очень редко пользуетесь, или они вообще вам не нужны. В процессе работы все эти приложения используют ресурсы компьютера, например, оперативную память, что сказывается на его быстродействии.

    Конечно, не все программы в «Автозапуске» нужно удалять, так как некоторые из них действительно нужны, а есть такие, которые обязательно должны загружаться вместе с ОС. Поэтому прежде чем чистить список «Автозагрузки», убедитесь, что вы не отключаете что-то важное.

    Почему приложения добавляются в «Автозагрузку»?

    Как уже было сказано выше, многие программы добавляются в «Автозапуск» самостоятельно. Например, вы скачиваете какое-либо приложение, а вам в нагрузку предлагают еще одно, которое без вашего разрешения помещается в «Автозапуск». Одно дело, когда это действительно нужная программа, например, для контроля видеоадаптера. Но если вам приложение не нужно, то необходимо знать, как отключить автозагрузку программ в Windows 7.

    Зачастую в «Автозапуск» пользователи добавляют программы, в которых чаще всего нуждаются. Например, если вам постоянно нужно быть в «Скайпе», то можете включить его в список автозагрузки. Но есть и обязательные приложения, такие как антивирус или фаервол (брандмауэр).

    Если же вас не устраивает скорость запуска регулярные «тормоза», и вы не можете найти, где отключить автозагрузку программ в Windows 7, то читайте об этом далее.

    Как программ

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

    Если вы хотите удалить программу из «Автозагрузки», то сделать это можно с помощью командной строки. Вызовите ее нажатием кнопок «WIN+R», а затем впишите туда команду «msconfig». Кликните «Enter», откроется «Конфигурация системы», где понадобится зайти в раздел «Автозагрузка».

    Теперь вы сможете самостоятельно отключить автозагрузку программ Windows 7. Снимите флажки, установленные возле тех приложений, которыми вы не пользуетесь. Кстати, если они вам не нужны, то удалите их через «Программы и компоненты».

    Как отключить автозагрузку программ Windows 7, используя Autoruns и CCleaner

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

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

    Еще одно популярное приложение - CCleaner. Загрузить его можно также с официального сайта. Для того чтобы отключить автозагрузку программ в Windows 7, понадобится запустить CCleaner и перейти в раздел «Сервис». Теперь выберите «Автозагрузка» и один раз кликните по тому приложению, которое хотите убрать из «Автозапуска». Справа есть соответствующие кнопки.

    Прежде чем что-то удалять или, наоборот, добавлять в «Автозагрузку», необходимо ознакомиться с несколькими советами опытных пользователей:

    • Не рекомендуется убирать из «Автозапуска» антивирусную программу, так как после загрузки ОС, вы можете забыть ее включить, а, значит, возникнет угроза проникновения вируса.
    • Если не знаете, можно ли отключать какую-то программу, то поищите о ней информацию в интернете, а потом принимайте решение, ведь некоторые приложения являются служебными.
    • Кроме очистки «Автозагрузки» от лишних программ, рекомендуется даективировать некоторые службы, которые можно найти на одноименной вкладке в окне «Конфигурация системы».
    • Когда вы узнаете, как отключить автозагрузку программ Windows 7, проделайте эту операцию со всеми ненужными приложениями, чтобы обеспечить минимальную нагрузку на систему во время запуска.

    Заключение

    Как видите, совсем несложно открыть «Автозагрузку» и удалить оттуда весь «мусор». Вам потребуется всего лишь запомнить одно и команду «msconfig». Проделав эти действия, вы заметите, что в следующий раз ваш компьютер будет загружаться гораздо быстрее, особенно, если в «Автозапуске» находилось большое количество приложений.

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

    Итак, теперь вы знаете, как отключить автозагрузку программ Windows 7. Рекомендуется регулярно проверять, что у вас там находится. Кстати, некоторые приложения сами спрашивают добавлять ли их в «Автозагрузку» или нет.

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

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

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

    Стоит ли отключать автозапуск приложений?

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

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

    Особенности процедуры

    Но не стоит отключать автозапуск приложений на «Андроиде» для всех подряд. Бывают и необходимые исключения, вроде официальных приложений от «Гугл» и каких-то работающих антивирусных программ. Конечно, платформа «Андроид» имеет неплохую защиту «от дурака», и если вы по незнанию попытаетесь прекратить системные или действительно важные процессы, то система вас предупредит, причем очень настойчиво.

    Но печальная правда говорит о том, что добрая половина скачанных из Сети программ (как правило, игровых и нелегальных) поселяется в автозапуске и мешает операционной системе нормально работать. И, как уже говорилось выше, единственным вариантом остается просто отключить автоматический запуск приложений на Android. Этим мы как раз и попробуем заняться, благо инструментов для решения данной проблемы хватает.

    Итак, разберемся, как на «Андроиде» отключить автозапуск приложений и сделать это максимально безболезненно как для самой платформы, так и для пользователя. Рассмотрим основные варианты решения проблемы и особенности разных версий ОС.

    Отключение автозапуска на «Андроид 4.х.х»

    Перед тем, как отключить автостартующие программы в Android, необходимо выяснить, какие именно приложения потребляют (и потребляют ли вообще) ресурсы операционной системы. Для этого необходимо перейти в настройки гаджета и открыть раздел «Приложения» или «Диспетчер приложений».

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

    Особенности процесса

    Далее нужно найти вкладку «Запущенные» и ознакомиться с ней. «Плей Маркет» от «Гугла» почтовые клиенты и программы со специфическим значком андроида трогать не стоит, а вот к остальным нужно внимательно присмотреться. Напротив каждого приложения отображается занимаемый объем оперативной памяти. По этому показателю как раз и можно определить прожорливость софта. Для отключения необходимо выбрать неугодное приложение и тапнуть на «Остановить принудительно», а затем ответить «Да» или «Ок».

    Если в работает какая-то подозрительная утилита, то ее также лучше отключить. Автозапуск приложений на «Андроиде» будет стартовать после каждой перезагрузки гаджета, поэтому процедуру придется повторять снова и снова. Но часто перезагружать операционную нет необходимости, поэтому подобное временное решение многих вполне устраивает. Как уже упоминалось выше, убрать автозагрузку программ в Android можно будет только с помощью сторонних менеджеров задач.

    Отключение автозапуска на «Андроид 6.х.х»

    С прошивками Marshmallow все не так уж и просто. Непонятно зачем, но разработчики засунули возможность отключить автозапуск приложений на «Андроиде 6.0.1» и в версиях выше, что называется, к черту на рога. В принципе, новый «Андроид» очень неплох в плане оптимизации, гибкости пользовательских настроек и визуальной составляющей. Но вот системный функционал спрятан очень хорошо.

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

    Особенности процедуры

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

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

    Greenify

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

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

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

    Autostarts

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

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

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

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

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

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

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

    В данном случае следует вовсе выключить ненужную функцию. Рассмотрим несколько способов изъятия программ из автозапуска.

    Системная папка автозагрузок

    В автозапуск можно добавить практически любой исполняемый файл. Наиболее простой способ – переместить его (или ярлык) в системную папку автозагрузки.

    В Windows 7 ее можно найти в меню «Пуск», после нажатия кнопки «Все программы». Ближе к концу списка будет папка «Автозагрузка». Удаление из нее означает отмену автозапуска.

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

    При наличии отметки об автозагрузке в другом системном разделе простое удаление программы их папки автозапуска не поможет.

    К тому же, удаление приложений из автозапуска через меню «Пуск» применимо только для конкретного активного пользователя.

    Общее для всех пользователей редактирование можно производить в системной папке Programm Data, что на диске С.

    Открыв ее, понадобится проследовать таким путем: Microsoft\Windows\Start Menu\Programs\Startup.

    Использование «Конфигурации системы»

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

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


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

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

    Но наиболее хитрые программы дублируют отметки о своем местоположении в системном реестре. Далее все немного детальней.

    Чистка системного реестра

    Системный реестр – важная часть ОС. Удалять тамошние файлы нужно предельно осторожно, один удаленный маленький файл может привести к плачевным последствиям.

    Поэтому нужно постараться, как можно боле точно следовать приведенной ниже инструкции: