Уровень журнала warn xiaomi что это

Полная оптимизация MIUI на Xiaomi

Инструкция по оптимизации MIUI 12

Воспользовавшись нашим подробным гайдом, вы сможете быстро отключить бесполезные сервисы и опции. Как итог – смартфон станет работать гораздо быстрее и стабильнее. Достаточно зайти в меню настроек и провести небольшие процедуры. Огромный плюс: не нужно подключать смартфон к компьютеру.

Избавляемся от системной рекламы

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

1. Откройте «Настройки» – «Пароли и безопасность».

2.Прокрутите страницу вниз до вкладки «Доступ к личным данным».

3.Передвиньте ползунки в нерабочее состояние напротив строк « msa » и « MiuiDaemon ».

4.Во всплывающем окне нажмите по голубой кнопке «Отозвать». Если разрешение сразу не отозвалось, повторите попытку несколько раз. Также убедитесь, что на мобильном устройстве включен интернет.

5.Далее перейдите в приложение «Безопасность» и откройте пункт «Передача данных».

6.Нажмите «Сетевые подключения», а вверху – «Фоновые подключения».

7.Уберите галочки с « Analytics » и « msa ».

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

Отключаем ненужные сервисы

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

1.В настройках откройте пункт «Подключение и общий доступ».

3.Вернитесь в предыдущее меню и теперь зайдите в раздел «Печать». Выключите системный сервис печати.

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

1.Перейдите по пути «Настройки» – «Рабочий стол».

2.Передвиньте тумблер в неактивное состояние возле строки «Лента виджетов».

Изменяем доступ к местоположению

Служба GPS тоже потребляет много заряда, особенно, если работает в фоновом режиме. Чтобы это исправить, нужно:

1.Зайти в пункт «Местоположение».

2.Открыть вкладку «Разрешения для приложений».

Ограничиваем автозапуск

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

1. Зайдите в раздел «Приложения» – «Разрешения».



3.Деактивируйте ползунки напротив всех приложений, которые работают в автозапуске. Еще больше программ появится, если нажать по трем точкам в правом верхнем углу и тапнуть «Показать системные приложения».

Включаем системную оптимизацию

И напоследок рекомендуем активировать встроенную функцию «Оптимизация MIUI ». Благодаря данному инструменту будут автоматически закрываться неиспользуемые фоновые процессы, очищаться оперативная память и регулироваться нагрузка на процессор. Опция активна по умолчанию, но если ранее вы ее отключали и хотите повторно включить, нужно:

1.Перейти в раздел «Для разработчиков».

2.Несколько раз кликнуть по «Восстановить значения по умолчанию».

3.Включить функцию, которая появится чуть ниже.

Источник

Русские Блоги

Журнал Android

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

Основное содержание этой статьи таково:

1. Классификация журналов

1. Общий уровень журнала

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

(5) Log.e: e обозначает информацию об ошибке и обычно используется для вывода исключений и сообщений об ошибках. Журнал этого уровня будет выводить информацию только этого уровня. Как правило, система Android будет использовать этот уровень журнала при выводе фатальной информации, такой как грубость.

2. Связанный исходный код (на основе android-26, то же ниже)

Исходный код android.util.Log.java дает четкое описание уровня журнала, а также, в свою очередь, дает метод использования. Соответствующие фрагменты исходного кода следующие:

3. Интерпретация исходного кода

Читайте также:  какое зеркало с подсветкой для макияжа выбрать

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

(1) Класс Log.java модифицируется с помощью final и не может быть унаследован. Он не имеет подклассов. В то же время он не наследует другие классы и не имеет родительского класса. Логическая взаимосвязь этого типа относительно проста и легко читается. Читатели имеют возможность прочитать исходный код и определенно получат более глубокое понимание.

(2) Видно, что уровень вывода журнала также включает ASSERT, а функция, используемая для вывода, также включает Log.wtf (. ) и т. Д. В исходном коде также упоминается, что обычно используются только пять вышеупомянутых уровней журнала. Для ASSERT Я не буду много говорить о Log.wtf () и т. Д., Просто разберитесь с ним, и нет необходимости использовать его при нормальной разработке.

(3) Уровни журнала находятся в порядке от 2 до 7. Странным явлением является то, что нет 0 и 1, и он не оценивается от 0 или 1. Что касается причин, читатели могут изучать, если им интересно.

(4) В комментарии перед именем класса также упоминается, что строка, переданная в журнал, будет потреблять системные издержки. Таким образом, мы не можем бесконтрольно использовать журнал, мы должны обращать внимание на навыки и характеристики использования.

Читатели могут узнать больше!

2. Спецификация использования журнала

У разных компаний разные требования и спецификации для использования Log.Далее я буду использовать спецификации, встреченные в ходе работы, чтобы проиллюстрировать спецификации использования Log (конечно, из комментариев к исходному коду в предыдущем разделе вы также можете увидеть некоторые подсказки. ):

1. В приложении журналы уровня VERBOSE, как правило, не допускаются. Для журналов уровня INFO и WARN разрешено печатать очень небольшой объем важной информации. Это требование в действии. На самом деле, эти три уровня часто используются в исходном коде системы. Например, Когда система печатает общую информацию об исключениях, используется журнал уровня WARN.

2. Уровень ERROR разрешается использовать только при очень серьезной ошибке.Если общая информация заключается в использовании уровня DEBUG (преимущества использования уровня DEBUG будут обсуждены позже, когда будет упомянуто Log.isLoggable ()). Когда система сообщает о критическом исключении, используется журнал уровня ОШИБКИ.

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

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

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

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

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

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

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

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

В-третьих, просмотреть журнал в Android Studio

Android Studio предоставляет разработчикам хороший инструмент для просмотра журналов.Разработчики могут открыть представление журнала следующими способами: View> Tool Windows> Logcat или использовать комбинацию клавиш по умолчанию Alt + 6, чтобы открыть / скрыть представление Logcat. Вот краткое введение в использование этого инструмента.

1. Выберите условия фильтрации в Logcat.

На скриншоте ниже отмечены общие функции использования представления Logcat в Android Studio.Разработчики могут выбирать условия фильтрации в соответствии с реальной ситуацией.

Читайте также:  Фигурка скарабея что приносит

2. Настройка цвета информации журнала.

При просмотре журналов есть небольшая хитрость: для просмотра журналов разных уровней Android Studio устанавливает разные цвета для информации журнала разных уровней. Разработчики также могут установить цвет или другие атрибуты в соответствии со своими предпочтениями, чтобы при просмотре журнала было легко различать уровень журнала, и при просмотре было ощущение иерархии. Путь настройки: Файл> Настройки> Редактор> Цвета и шрифты> Android Logcat. Как показано на скриншоте ниже:

После завершения настройки используйте следующий код для проверки

Информация журнала, напечатанная в представлении logcat, выглядит следующим образом:

Хотя разработчики могут устанавливать цвет журнала и другие атрибуты в соответствии со своими предпочтениями, автор по-прежнему рекомендует читателям стараться следовать соглашениям об общих именах, например, Журналы с уровнем ERROR часто имеют красный цвет 。

3. Описание информации журнала в Logcat

В-четвертых, напишите простой в использовании вспомогательный класс Log.

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

1. Сценарии, с которыми часто сталкиваются разработчики

При конкретной разработке разработчики часто сталкиваются со следующими ситуациями:

(1) При отладке часто печатается большое количество журналов, чтобы помочь в анализе проблем, но эти журналы должны быть закрыты, когда версия должна быть выпущена для пользователей.

(2) Разработчики часто устанавливают переменную в коде, например логическое isDebug и т. Д., Для управления печатью / закрытием журнала. Но каждый раз, когда вы выпускаете версию, вам нужно вручную изменять это значение, что неудобно в использовании и легко забыть.

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

(4) После получения информации журнала часто бывает непросто выяснить, к какой функции относится эта информация, к какому типу и каким методом она распечатывает.

(5) Некоторые журналы необходимо закрыть в пользовательской версии, но некоторые журналы необходимо хранить все время, и эти два типа журналов нужно обрабатывать по-разному.

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

2. Код вспомогательного инструмента

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

3. Использование и описание вспомогательных классов.

(1) Распечатать основной журнал

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

Вызовите Logger.d (className, methodName, msg) в том месте, где журнал должен быть напечатан; вот и все, ниже показан выходной журнал

(2) Стек вызовов функции печати printStackTraceInfo

(3) Распечатать информацию об исключении printExceptionInfo (Exception pEx)

Этот метод в основном используется для печати собранной информации об исключении. На снимке экрана ниже четко показана причина исключения, место его возникновения и стек вызовов. SDK также поставляется с методом e.printStackTrace (), который печатается самой системой (снимок экрана 2). Однако информация для печати делится на несколько частей информации для печати. ​​При поиске по тегу можно искать только информацию, содержащую тег, и информация не может быть отображена в целом. Пользовательский метод преодолевает этот момент и удобен для всех. Посмотреть. Конечно, читатели могут выбирать, использовать ли функции, входящие в SDK, в соответствии со своими предпочтениями.

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

Снимок экрана 2: Аномальная печать, связанная с sdk

(4) Используйте Log.isLoggable (tagName, level)

В пункте 1 (3) данного обзора упоминается, что журнал отладочной версии закрыт в пользовательской версии, что значительно затрудняет анализ ошибки. Следовательно, в условии isTagLoggable (. ) для определения того, разрешить ли печать журнала, добавляется условие «или», Log.isLoggable (тег, уровень), которое решает проблему невозможности распечатать часть журнала в пользовательской версии.

1) Основное использование

После добавления этого условия в системе пользовательских версий просто выполните следующую команду в командном поле:

После ввода этой команды будут выведены все журналы с именем «FunctionName» в качестве имени тега и уровнем DEBUG и выше. Чтобы вернуться в состояние, не предназначенное для печати, просто перезагрузите телефон.

2) Связанный исходный код

3) Интерпретация исходного кода

Основываясь на приведенном выше исходном коде и комментариях, автор извлек некоторую информацию:

Ниже приводится тестовая функция.

5) Результаты тестирования

А) Никакая команда не выполняется, результат теста:

В) Выполнение заказа

Здесь мы также видим, что значение Log.isLoggable (TAG, Log.DEBUG) по умолчанию ложно. Как мы упоминали во втором пункте, когда мы говорили о спецификации использования журнала во втором разделе, общая информация печатается с журналом уровня DEBUG в сочетании с приведенным выше вспомогательным классом журнала, вы, конечно же, можете почувствовать некоторые преимущества здесь, читатели Вы также можете использовать эти условия для разработки собственных удобных методов в соответствии с вашим собственным пониманием.

Читайте также:  какое самое большое качество видео

6) Рекомендуемая литература

Пять, получение журнала

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

1. Получено из средств разработки.

Например, представление Logcat, которое поставляется с упомянутой выше Android Studio, также доступно в eclipse, что проще в использовании. Этот метод в основном используется разработчиками, а тестировщики обычно не используют аналогичные инструменты в среде IDE.

2. adb поставляется с инструментом logcat

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

3. Мобильный телефон имеет собственную функцию записи журнала.

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

(1) Введите пароль на клавиатуре набора номера (вы можете выполнять поиск в Интернете, разные бренды имеют разные пароли, и типы журналов, регистрируемых на одном мобильном телефоне, также различны), и вы войдете в интерфейс инструмента журнала, как показано ниже:

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

(3) Нажмите кнопку «Пуск», и система начнет сбор журналов.

(4) Начните управлять мобильным телефоном, воспроизводите ошибки и т. Д. Журналы, созданные в этот период, будут сохранены.

(5) После завершения операции нажмите кнопку «Закрыть», и система сгенерирует файл журнала.Внизу вы можете увидеть путь хранения журнала, просто найдите его по этому пути.

Шесть, просмотр и анализ журнала

После того, как вы получите файл журнала, вы можете проанализировать его. В средстве просмотра IDE Logcat и журнале, полученном в adb logcat, в основном доступно основное представление, поэтому я не буду здесь об этом говорить. Здесь мы в основном говорим об анализе журнала в MobileLog.

1. Структура документа

После входа в папку журнала вы увидите следующий список папок

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

Как правило, мы обращаем внимание только на содержимое папки moblie (пока автор использовал только файлы в этом каталоге). После нажатия для входа отобразится список файлов журнала, как показано ниже:

2. Анализируйте файлы журналов

(1) Сводка файла журнала

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

(2) Проанализировать журнал сбоев.

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

(3) Проанализировать основной файл журнала

Основной файл часто содержит много информации журнала. Представление logcat или журнал, записанный adb logcat, упомянутый ранее, а также различные типы журналов в разных моделях мобильных телефонов имеют в основном одинаковую базовую структуру. Одно сообщение также содержит такую ​​информацию, как дата, время, номер процесса, номер потока, уровень журнала, ТЕГ, сообщение и т. Д. Как показано ниже:

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

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

3. Анализ исходного кода

В исходном коде есть следующие коды

Исходный код также дает ровно 5 значений LOG_ID, LOG_ID_MAIN

LOG_ID_CRASH.За исключением журнала событий, остальные также находятся во взаимно однозначном соответствии. Реализация методов Log.v ()

Семь сторонних инструментов

В настоящее время существует множество отличных сторонних инструментов для управления журналами. Я использовал два: log4j и Tencent’s bugly, оба из которых относительно просты в использовании.

8. Заключение

Источник

Онлайн портал