Log.d и влияние на производительность - PullRequest
23 голосов
/ 23 сентября 2010

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

Спасибо,

I 'Я немного сбит с толку, потому что если вы читаете об объекте журнала ( документация ), вы видите это:

"Порядок в терминах многословия, от меньшего к большему, равен ERROR, WARN, INFO, DEBUG, VERBOSE. Verbose никогда не должен компилироваться в приложение, кроме как во время разработки. Журналы отладки компилируются, но удаляются во время выполнения. Журналы ошибок, предупреждений и информации всегда сохраняются. "

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

Спасибо

Ответы [ 4 ]

17 голосов
/ 23 сентября 2010

Журнал влияет на производительность, поэтому рекомендуется закомментировать его или войти с условными выражениями.

Например

public class MyActivity extends Activity {
// Debugging
 private static final String TAG = "MyApp";
 private static final boolean D = true;
 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(D) Log.e(TAG, "MyActivity.onCreate debug message");
 }

Затем, когда вы публикуете свою версию выпуска, просто измените«D» в ложь

9 голосов
/ 23 сентября 2010

Мое решение:

2 голосов
/ 27 июня 2012

Просто используйте методы защиты кода.

if (Log.isLoggable(LOG_TAG, Log.DEBUG)) {
Log.d(LOG_TAG, "Your log here");
}
2 голосов
/ 23 сентября 2010

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

...