用 Android 提供的日志工具类 android.util.Log。 以下是几个理由:
-
性能开销:
System.out.println() 是同步的,会影响应用程序的性能。在生产环境中,频繁地使用 System.out.println() 可能会导致应用程序变慢。安卓日志工具类android.util.Log 调的是native层C语言(具体看android_util_Log.cpp)执行效率要比Java高。
public void println(String x) { synchronized (this) { print(x); newLine(); } }
-
输出位置不确定:
System.out.println() 输出的日志信息会被发送到标准输出流,而在安卓中,标准输出流并不会直接输出到控制台或日志文件中,因此无法确切地知道日志信息的输出位置。
-
不可控制的输出:
System.out.println() 输出的日志信息无法进行级别控制,无法按照不同的日志级别进行过滤和输出。而 android.util.Log 提供了不同的日志级别(如 VERBOSE、DEBUG、INFO、WARN、ERROR),可以根据需要选择输出级别,方便在开发和调试过程中进行日志信息的过滤和查看。
-
不可定制的输出格式:
System.out.println() 输出的日志信息无法进行格式化和定制,而 android.util.Log 提供了更丰富的输出格式和定制选项,可以按照需要输出更具有可读性的日志信息。 综上所述,为了更好地进行安卓应用程序的日志记录和调试,建议使用 android.util.Log 类来输出 log 日志信息。
正例:
Log.d(TAG, "Some Android Debug info ...");
反例:
System.out.println("System out println ...");