Различные методы являются признаками приоритета.Поскольку вы перечислили их, они идут от наименьшего к наиболее важному.Я думаю, как конкретно вы сопоставите их с журналами отладки в своем коде, зависит от компонента или приложения, над которым вы работаете, а также от того, как Android обрабатывает их в различных вариантах сборки (eng, userdebug и user).Я проделал немалую работу с нативными демонами в Android, и вот как я это делаю.Это может не относиться непосредственно к вашему приложению, но может быть какой-то общий язык.Если мое объяснение звучит расплывчато, то это потому, что это скорее искусство, чем наука.Мое основное правило - быть максимально эффективным, обеспечить разумную отладку компонента без ущерба для производительности системы, а также всегда проверять наличие ошибок и регистрировать их.
V - Распечатка состояния через различные интервалы,или при каких-либо событиях, происходящих с моим компонентом.Также возможно очень подробные распечатки полезных нагрузок сообщений / событий, которые мой компонент получает или отправляет.
D - Подробности незначительных событий, которые происходят в моем компоненте, а также полезных нагрузок сообщений / событий, которые получает мой компонент илиотправляет.
I - заголовок любых сообщений / событий, которые получает или отправляет мой компонент, а также любые важные части полезной нагрузки, которые имеют решающее значение для работы моего компонента.
W - что угоднобывает, что это необычно или подозрительно, но не обязательно ошибка.
E - ошибки, означающие вещи, которые не должны происходить, когда все работает так, как должно.
Самая большая ошибкаЯ вижу, что люди делают то, что они злоупотребляют такими вещами, как V, D и I, но никогда не используют W или E. Если ошибка, по определению, не должна возникать или должна происходить очень редко, то это чрезвычайно дешево для васвойти в сообщение, когда это происходит.С другой стороны, если каждый раз, когда кто-то нажимает клавишу, вы выполняете Log.i (), вы злоупотребляете ресурсом общего ведения журнала.Разумеется, руководствуйтесь здравым смыслом и будьте осторожны с журналами ошибок для тех вещей, которые находятся вне вашего контроля (например, сетевые ошибки), или для тех, которые содержатся в жестких циклах.
Возможно, плохо
Log.i("I am here");
Хорошо
Log.e("I shouldn't be here");
Учитывая все это, чем ближе ваш код становится «готовым к работе», тем больше вы можете ограничить базовый уровень ведения журнала для вашего кода (вам нужен V в альфа, D в бета, я в производстве, или, возможно, даже W в производстве).Вам следует пройтись по нескольким простым сценариям использования и просмотреть журналы, чтобы убедиться, что вы по-прежнему в основном понимаете, что происходит, когда применяете более ограничительную фильтрацию.Если вы используете фильтр, указанный ниже, вы все равно сможете сказать, что делает ваше приложение, но, возможно, не получите всех подробностей.
logcat -v threadtime MyApp:I *:S