安卓中为什么不建议使用 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 ...");

结束

记录一下,工作中小细节,帮助有需要的同学。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.背景介绍 记录日志可以作为日后处理问题的一个追溯,方便开发者根据日志来统计查询处理问题。此外,查阅日志内容可以...
    Grasse阅读 12,447评论 2 4
  • 在 Java 开发中,打印日志是一项非常重要的工作。正确的打印日志可以帮助我们快速定位问题,并提高代码的可维护性和...
    good7ob阅读 3,878评论 0 0
  • 背景说明   对于发布出去的app大部分时候确实都能保证业务正常运行的,但由于版本的迭代,客户端和服务端业务逻辑一...
    JarryWell阅读 11,415评论 0 15
  • 原文使用有道云笔记创作, 看这个获取更好阅读体验: 有道云笔记原创连接[http://note.youdao.c...
    moasm阅读 15,993评论 4 10
  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
    Johnson_Lin阅读 1,531评论 0 0

友情链接更多精彩内容