为了调试我们的 Android 代码,我们放置了 System.out.println(string)
它将让我们知道一个函数被调用了多少次。另一种方法是放置一个标志并在每次函数调用后继续递增它。然后在最后通过 System.out.println(...)
打印标志的最终值。 (实际上在我的应用程序中该函数将被调用数千次)
我的问题是:就CPU 资源 和时钟周期 而言,哪个更轻:增量操作还是 System.out.println?
最佳答案
递增将变得非常、非常更有效率——尤其是当您实际上有任何地方可以输出该输出时。想想 System.out.println
与递增变量所需的所有操作。当然,影响是否真的显着是另一回事 - 如果您的方法已经做了很多工作,那么 System.out.println
调用可能实际上并没有太大的区别。但是,如果您只想知道它被调用了多少次,那么保留一个计数器比查看日志更有意义,IMO。
我建议使用 AtomicLong
或 AtomicInteger
而不是仅仅拥有一个原始变量,这样您就可以获得简单的线程安全性。
关于java - CPU 资源和时钟周期 : System. out.println 或递增标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10459976/