安卓中为什么不建议使用 System.out.println 打印日志

用 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 ...");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值