Log.d和对性能的影响

时间:2010-09-22 20:15:47

标签: android logging debugging

我不完全确定我在文档中阅读的内容。是否可以将一堆log.d片段分散开来,或者我应该将它们注释掉,以免它们影响我的应用程序的性能。

谢谢,

我有点困惑,因为如果你读到日志对象(documentation),你会看到:

  

“详细程度的顺序,从最少到最多是错误,警告,   信息,调查,VERBOSE。不应该将详细编译成一个   申请除了在开发期间。调试日志是在但编译的   在运行时剥离。始终保留错误,警告和信息日志。 “

几乎听起来可以将调试消息留在那里因为它们被“剥离”了。无论如何,谢谢你的答案,我会在完成后对它们进行评论。一旦应用程序完成,我就不需要它们了。

由于

4 个答案:

答案 0 :(得分:16)

日志会影响性能,因此建议您将其注释掉或使用条件语句进行记录。

例如

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”更改为false

答案 1 :(得分:9)

我的解决方案:

答案 2 :(得分:2)

绝对评论出来。它们加起来很快,并且可能会显着减慢您的应用,特别是如果您将它们放在循环中。

答案 3 :(得分:2)

只需使用代码保护方法。

if (Log.isLoggable(LOG_TAG, Log.DEBUG)) {
Log.d(LOG_TAG, "Your log here");
}