Android文档表明:
详细程度的顺序,从最少到最多,是ERROR,WARN,INFO,DEBUG,VERBOSE。除了在开发期间,不应该将详细编译到应用程序中。调试日志在运行时编译但被剥离。始终保留错误,警告和信息日志。
但是尝试做一个Log.d()
,你会发现它实际上仍在真实设备上录制到Logcat。
有谁知道为什么?或者如何禁用它?
谢谢!
答案 0 :(得分:6)
您所看到的是预期的行为。如果您使用logcat并连接设备,则始终会记录并显示Log.d。因此,如果您不想在生产应用程序中使用调试日志,请将其关闭。事实上,android sdk建议你这样做。这个SO答案也可能对你有所帮助。 Should I comment my log calls when creating my final package?
Andriod sdk说
关闭日志记录和调试
确保停用日志记录并禁用调试选项 在构建应用程序以进行发布之前。你可以停用 通过删除源文件中对Log方法的调用来进行日志记录。您可以 通过从中删除android:debuggable属性来禁用调试 清单文件中的标记,或通过设置 在清单文件中android:debuggable属性为false。也, 删除在您的。中创建的任何日志文件或静态测试文件 项目
此外,您应该删除添加到您的所有调试跟踪调用 代码,例如startMethodTracing()和stopMethodTracing()方法 调用
答案 1 :(得分:0)
您应该在自己的类中封装日志记录,并在需要时启用/禁用特殊类型的日志。
答案 2 :(得分:-1)
如果在开发中编译了详细信息,那么如果调试日志没有,那将会很有趣。请签署您的应用程序并尝试一下,我认为调试消息丢失了。
答案 3 :(得分:-1)
当您插入设备时,它会激活调试模式。如果应用程序在拔出设备的情况下运行,我认为它没有做同样的事情,尽管你无法检查......