当制作应用的最终版本时,Android Studio如何处理System.out.print函数?

4
我的问题很简单。如果我在Android Studio中制作一个应用程序并加入打印功能,那么当我运行该应用程序时,这些打印功能会运行并占用计算能力吗?还是说Android Studio会自动清除它们?或者它们会留在那里,但由于缺少要打印的控制台而无法运行?
基本上,我需要删除Android Studio中的打印功能才能使我的应用程序最大限度地发挥性能吗?
非常感谢。
编辑: 我应该提到我正在使用一个库,它打印出大量诊断信息,尝试从这个库中删除System.out.print函数会是一个有点大的项目,这就是为什么我特别询问打印功能的原因。

1
如果您执行了大量日志记录,则可能会显着影响性能,同时出于安全和隐私原因,在发布版本中通常会避免使用日志记录。 - Eugen Martynov
但是对于不是日志的打印函数呢? - William Derksen
3个回答

1

在构建应用程序发布版本之前,请确保停用日志记录并禁用调试选项。

对我来说,日志记录太重要了,不能从源代码中删除,但必须出于性能、安全和知识产权方面的考虑从生产应用程序中删除。


禁用日志记录会防止Android发布带有日志记录的代码吗?它是否也会对代码中的任何打印函数(System.out.print())产生相同的影响? - William Derksen

1

是的,你应该摆脱打印语句,否则它们会影响性能。更好的解决方案是使用Jake Wharton的Timber库。这个库会自动删除发布版本中的日志语句。此外,这个库还有一些非常好的API来改善日志工作流程。


非常感谢。 - William Derksen

0
System.out.print 

它与Log相同,例如Log.e()Log.i()Log.d()

当您在最终APK中拥有这些logcat时,运行时将在Android Moniter中打印这些语句,这将有助于了解应用程序中正在发生的情况。


我认为实际上是使用 Log.w() 来代替 System.out - OneCricketeer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接