[Прочее] Оптимизируем MIUI: отключаем фоновую запись действий пользователя на Xiaomi (Redmi)
![]() |
IMG_20200522_104403-840×525.png (89.06 KB, Downloads: 0)
2020-05-30 21:34:31 Upload
Чем глубже изучаешь MIUI на Xiaomi (Redmi), тем больше понимаешь как много функций возможно отключить, или перенастроить, чтобы улучшить автономность телефона, увеличить его производительность и добиться более предсказуемой и плавной работы.
Каждая настройка отдельно слабо влияет на общее впечатление от работы с Xiaomi, но когда их отключишь все, станет заметно насколько MIUI будет работать быстрее, отзывчивее и плавнее, при этом увеличиться автономность смартфона.
Сегодня я покажу вам одну настройку в меню для разработчиков на Xiaomi, которая ведёт постоянную запись в лог всех действий пользователя почти во всех приложениях. Строго говоря, запись ведётся только в тех программах, которые поддерживают эту функцию, но это почти все приложения, обновлённые за последний год.
Факт записи активности пользователя на Xiaomi не сильно влияет на производительность, но всё зависит от частного случая и конкретного приложения. После того, как я отключил её, мой телефон начал плавнее листать ленту в приложениях социальных сетей, и анимация переключения между приложениями также стала воспроизводиться стабильнее. Возможно, это самовнушение, но в любом случае обычному пользователю, не разработчику, запись вести нет необходимости, к тому же эти логи занимают драгоценную память Xiaomi.
Прежде всего необходимо получить права разработчика: Настройки / О телефоне / Нажимаем на ВЕРСИЯ MIUI нескольео раз, пока не появится надпись на экране ВЫ СТАЛИ РАЗРАБОТЧИКОМ.
4.jpg (277.21 KB, Downloads: 0)
2020-05-30 21:29:00 Upload
После этого: Настройки / Расширенные настройки /Для разработчиков / Трассировка системы
Теперь оключаем функцию ЗАПИСЫВАТЬ ДЕЙСТВИЯ ПРИЛОЖЕНИЙ, ДОСТУПНЫХ ДЛЯ ОТЛАДКИ
5.jpg (359.4 KB, Downloads: 0)
2020-05-30 21:29:07 Upload
И нажимаем УДАЛИТЬ СОХРАНЕННЫЕ ЗАПИСИ ДЕЙСТВИЙ, чтобы освободить память от ненужных нам записей, которые могут занимать сотни мегабайт.
Всё, мы отключили ещё одну функцию, которая потребляла энергию, ухудшала производительность Xiaomi и зря занимала память.
Проверено лично на Xiaomi mi 9t pro
Источник
Do not keep activities
Не сохранять операции
«Не сохранять операции» — именно таким странным образом переведена фраза «Do not keep activities» в настройках Android. А описание «Удалять все операции сразу после их завершения пользователем» не добавляет ясности. Включается она в меню «Параметры разработчика» (Developer Options), находится в самом низу.
Работает эта настройка очень просто, когда она включена, все неактивные активити умирают. Т.е. после перехода из активити A в активити B, активити A уничтожается. Таким образом можно проверить насколько вписывается ваше приложение в activity lifecycle.
Почти не возникло проблем с Вконтакте, с их SDK можно написать все правильно, но все таки есть у них небольшая проблема. А именно, после авторизации через приложение, результат возвращается в onActivityResult. По документации, нужно вызвать
однако, в случае уничтожения активити нашего приложение, вылетит NPE, поэтому сначала нужно вызвать
Не совсем очевидно, да и незадокументировано. Завел issue, на всякий.
Были проблемы с Facebook, потому как, по глупости своей, я решил использовать android-simple-facebook, а ее автор, как я понял, не особо парился по поводу android lifecycle. Пришлось полностью от него отказаться и переделывать все на официальный SDK Facebook и все проблемы ушли. Хотя, наверное, можно было и так все поправить одной строчкой, но пути назад уже не было.
И совсем не было проблем с Twitter, потому что все работает просто, как топор. У них просто нет своего SDK и авторизации через приложение. Приходится делать все по старинке, через WebView. Вообще у них самая ужасная авторизация из всех.
Ну да это так, лирическое отступление.
Есть проблемы с PayPal SDK, оно просто валится везде где только можно. Благо кто-то уже завел issue до меня и наверняка они в скором будущем это поправят.
Другие примеры
У меня не много приложений на телефоне, да и смотреть их все мне, если честно, лень, но я не мог пройти мимо недавно вышедшего приложения хабра. Начнем, конечно же, с него. Ну и добавлю ошибку Payoneer, которую нашел случайно:)
Хабрахабр
Я потыкался по разным экранам и уже было расстроился, неужели все написано правильно и один лишь я делаю столько ошибок. Но нет, я таки добрался до страницы About:
Payoneer
Много времени не понадобилось. Экран логина, ушел в keepass за паролем, вернулся — гипс крэш:
Ещё есть некоторые приложения без крэшэй, но с неправильным поведением, например, не сохраняется открытый фрагмент, а вместо него, после пересоздания, снова показывается главный экран приложения.
Используйте настройку «Do not keep activities», надеюсь для кого-то эта информация окажется новой и поможет избежать ошибок поведения и крэшэй.
Думаю тоже смог бы избежать кучи репортов в Google Play, если бы сразу знал об этой настройке.
Каково главное преимущество и недостаток «не держать действия» в android
Один запрос, который я хотел бы получить, если бы кто-нибудь мог ответить на него, как: Do not keep activities следует проверять параметры Do not keep activities во время тестирования мобильного приложения Android от разработчиков.
Я использовал его в своем приложении и обнаружил, что мое приложение ведет себя некорректно и разбилось, когда я включил. Do not keep activities в android.
Мои вопросы были несколько:
1: How much this option will affect mobile applications?
2: What exactly does this do?
Создает ли это какие-либо положительные или отрицательные функции в моих приложениях?
Каковы были преимущества и недостатки его использования при сохранении. Do not keep activities Просьба поделиться опытом.
Насколько этот параметр повлияет на мобильные приложения?
Если они хорошо написаны, этот вариант не повлияет на них.
Если этот параметр включен, только переменные, хранящиеся в активности с методом onSaveInstanceState будут сохранены, когда вы перейдете к другому действию или приложению в фоновом режиме. Все остальные переменные будут немедленно удалены. Когда этот параметр выключен, есть вероятность, что эта переменная будет сохранена
Нет, это означает, что все не сохраненные переменные будут удалены. Когда вы в пример нажмите кнопку «домой».
Создает ли это какие-либо положительные или отрицательные функции в моих приложениях?
Нет, это только помогает правильно разработать приложение. Это помогает прогнозировать неожиданные ситуации.
Do not Keep Activities – это просто вариант разработчика, который поможет вам проверить, не
2. Handled малого объем память Ситуация, соответствующий образ (в этом случае активность будет уничтожена). ̶
Изменить : этот параметр не эмулирует ситуации с низкой памятью. Когда устройство испытывает низкую память, система может запросить операцию «Drop», вызывая Finish (), или она может идти вперед и полностью уничтожить процесс, как говорится в комментарии.
ПРЕИМУЩЕСТВА :
НЕДОСТАТКИ :
Если пользователь неосознанно включил эту опцию, то устройство будет работать медленно, и все действия будут воссозданы во время навигации пользователя на его устройстве. Это затруднит работу пользователя
Очень хороший ответ дается в форуме разработчиков xda об использовании этой опции
Поэтому для проверки такого полного случая вы должны остановить приложение вручную, но не отбрасывайте его из диспетчера задач. Самый простой способ – с красной квадратной кнопкой в андроид-студии. И снова откройте приложение.
Преимущество «Не сохранять активность» заключается в том, что он эмулирует системную ситуацию с низкой памятью, когда она начинает убивать разные части приложения. Ваше приложение должно поддерживать эту ситуацию. Недостатком является то, что этот вариант является своего рода строгим и убивает только действия, когда нет способа подражать этому для служб
В чем главное преимущество и недостаток «не сохранять активности» в Android
Один вопрос, который я хотел бы получить, если бы кто-нибудь мог ответить на него, например: Do not keep activities параметры, которые необходимо проверить во время тестирования мобильного приложения Android от разработчиков.
Я использовал его в своем приложении и обнаружил, что мое приложение ведет себя некорректно и дает сбой при включении Do not keep activities в Android.
Моих вопросов было немного:
1: How much this option will affect mobile applications?
2: What exactly does this do?
Создает ли это положительную или отрицательную функциональность в моих приложениях?
6 ответов
Насколько эта опция повлияет на мобильные приложения?
Если они хорошо написаны, эта опция на них не повлияет.
Если этот параметр включен, только переменные, которые сохраняются в активности с помощью метода onSaveInstanceState будут сохранены, когда вы перейдете к другому действию или приложение перейдет в фоновый режим. Все остальные переменные будут немедленно удалены. Когда эта опция выключена, существует вероятность, что эта переменная будет сохранена.
Нет, это означает, что все несохраненные переменные будут удалены. Например, когда вы нажимаете кнопку «Домой».
Создает ли это положительную или отрицательную функциональность в моих приложениях?
Нет, это только помогает правильно разработать приложение. Помогает предугадывать неожиданные ситуации.
Преимущество «Не сохранять действия» заключается в том, что он имитирует ситуацию с нехваткой памяти в системе, когда она начинает убивать различные части приложения. Ваше приложение должно поддерживать эту ситуацию. Недостатком является то, что этот вариант является своего рода ограниченным и убивает только действия, когда нет возможности эмулировать это для служб.
Опция Do not keep activities рядом с Developer options позволяет разработчикам легко воспроизвести тот же сценарий.
В идеале хорошо разработанное Android-приложение должно обрабатывать onSaveInstanceState и onRestoreInstanceState сохранение и восстановление локальных переменных всех действий.
Более подробная информация представлена здесь на официальном сайте разработчиков Android.
ПРЕИМУЩЕСТВО :
НЕДОСТАТКИ :
Если пользователь неосознанно включил эту опцию, устройство будет работать медленно, и все действия будут воссозданы заново во время навигации пользователя на его устройстве. Это затруднит работу пользователя
Очень хороший ответ об использовании можно найти на форуме разработчиков xda. этого варианта
2. Handled малым объемом памяти Ситуации, соответствующим образом (в этом случае активность будут уничтожены). ̶
Оптимизируем MIUI: как отключить фоновую запись действий пользователя на Xiaomi (Redmi)

Настройки для разработчиков существенно расширяют функционал вашего телефона, и при этом не надо устанавливать стороннюю прошивку или получать root-права в системе.
Также режим для разработчиков позволяет производить тесты производительности на телефоне, записывать журнал работы различных приложений + ошибки в работе системы, конфигурировать беспроводные соединения, настраивать звук, анимацию и быстродействие смартфона.
Как включить настройки для разработчиков?
Перейдите в Настройки > О телефоне > Версия MIUI.
Нажмите 5-7 раз по версии MIUI. Появится всплывающее окно, которое сообщит, что вы включили режим для разработчиков (вы – разработчик). Готово, новый пункт меню появился.
Зайти в режим для разработчиков: Настройки > Расширенные настройки > Для разработчиков.
Отключение уведомления обновлений
Для того, чтобы не отменять уведомления об update системы в ручную, можно попросту отключить эту функцию. В таком случае телефон все равно продолжит обновляться и загружать эти файлы в автономном режиме, однако, не уведомляя своего пользователя об этом.
Для того чтобы это сделать вам понадобится:

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








Оптимизируем MIUI: как отключить фоновую запись действий пользователя на Xiaomi (Redmi)
Чем глубже изучаешь MIUI на Xiaomi (Redmi), тем больше понимаешь как много функций возможно отключить, или перенастроить, чтобы улучшить автономность телефона, увеличить его производительность и добиться более предсказуемой и плавной работы.
Каждая настройка отдельно слабо влияет на общее впечатление от работы с Xiaomi, но когда их отключишь все, станет заметно насколько MIUI будет работать быстрее, отзывчивее и плавнее, при этом увеличиться автономность смартфона.
Сегодня я покажу вам одну настройку в меню для разработчиков на Xiaomi, которая ведёт постоянную запись в лог всех действий пользователя почти во всех приложениях. Строго говоря, запись ведётся только в тех программах, которые поддерживают эту функцию, но это почти все приложения, обновлённые за последний год.
Факт записи активности пользователя на Xiaomi не сильно влияет на производительность, но всё зависит от частного случая и конкретного приложения. После того, как я отключил её, мой телефон начал плавнее листать ленту в приложениях социальных сетей, и анимация переключения между приложениями также стала воспроизводиться стабильнее. Возможно, это самовнушение, но в любом случае обычному пользователю, не разработчику, запись вести нет необходимости, к тому же эти логи занимают драгоценную память Xiaomi.
Прежде всего необходимо получить права разработчика, как это сделать описано тут.
Теперь идёт в расширенные настройки, находим там меню «Для разработчика».
Аккуратно листаем ленту, доходим до раздела
«Отладка», внутри него ищем строку «Трассировка системы». Внутри скрывается пункт «Записывать действия приложений, доступных для отладки» – отключаем. После чего выбираем «Удалить сохранённые записи действий», чтобы освободить память от ненужных нам записей, которые могут занимать сотни мегабайт. Всё, мы отключили ещё одну функцию, которая потребляла энергию, ухудшала производительность Xiaomi и зря занимала память.
Это может быть интересно:
Режим разработчика: настройки отладки




Как отключить обновление приложений на Xiaomi

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




Обновление прошивки до последней версии
Не зря их выпускают пачками. Девелоперская прошивка выходит раз в неделю. Здесь обкатываются удачные и не очень решения, попадающие в дальнейшем в стабильные ОС. Версия MIUI, стоящая на вашем телефоне должна быть суперактуальной, чтобы не возникало никаких сомнений в ее работоспособности. Для проверки обновлений заходим в «Настройки» — «О телефоне» — «Обновление системы». При наличии интернета произойдет скачивание новейшей версии ОС и ее установка на смартфон.
Режим разработчика: отрисовка
Включение на Android
Необходимо обратить внимание, что в случае с моделями смартфонов Xiaomi Mi А1, А2, А3, работающих на Андроид, последовательность при активации будет немного другой:
Далее мобильник выдаст уведомление о доступе к новым возможностям. После этого в меню настроек смартфона появится соответствующий пункт.
Для моделей, работающих на Андроиде от 8 версии и более, инструкция будет следующей:
Режим разработчика: аппаратное ускорение визуализации
Режим разработчика: приложения
Подведем итоги. Мы рассмотрели все функции и сервисы в режиме для разработчиков. Большинство из них обычному пользователю просто не нужны, они предназначены для тестировщиков и разработчиков ОС, дополнительного ПО и работы приложений. но есть и ряд полезных индивидуальных функций, вроде GPU-ускорения или агрессивного переключения сетей (использовать мобильную передачу данных и wi-fi одновременно).
Все опции вы настраиваете на свой страх и риск. Поэтому если не уверены, лучше не включать.
Как отключить уведомления будущих обновлений
Довольно часто пользователи Xiaomi сталкиваются с постоянными и назойливыми оповещениями об update-ах телефона. Для того, чтобы это больше вам не мешало, стоит просто отключить уведомления такого типа. Однако стоит заметить, что телефон все равно будет их скачивать и устанавливать.
Для того чтобы это сделать вам необходимо выполнить следующие шаги:

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






