gpt4 book ai didi

android - 将调试/日志语句放入代码中的有效方法 - 因此它们不会影响运行时

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:28 24 4
gpt4 key购买 nike

在 C 派生语言中,有可能具有用于调试和运行时的条件代码。这样就不会在运行时留下任何开销。

我如何使用 Java/Android 和 Log.i 语句执行此操作?如果我只使用常量全局 bool 值 debugOn,这显然会在运行时留下冗余检查。

条件日志语句的最佳方法是什么

非常感谢

编辑:

由于在接受的答案之后有很多评论,我在这里发布我的结论....

private static final boolean DEBUG = true;

if (DEBUG) Log.i("xxx",this.getClass().getName()+ "->" + Thread.currentThread().getStackTrace()[2].getMethodName() );

...就像在 xCode 中一样 :)

最佳答案

Android 构建系统前段时间开始提供常量 BuildConfig.DEBUG,所以我建议使用它并编写如下代码:

if (BuildConfig.DEBUG) Log.i(TAG, "Message");

因为它是常量,所以不会进行冗余检查。这段代码甚至会被编译器优化,但您也可以使用 ProGuard。即使进行了检查,对性能的任何可能影响也应该可以忽略不计。

这种方法曾经有一个缺点,即您必须自己编辑此常量,无论是手动编辑还是通过构建文件中的自定义规则。然而,现在,这是由构建系统自动处理的,因此您无需自己做任何事情。

关于android - 将调试/日志语句放入代码中的有效方法 - 因此它们不会影响运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8050799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com