在编程调试和定位问题的时候,日志是一个最常用的工具。比如输出一些信息,确定执行轨迹。今天我们这里简单聊一聊打印日志的一些分析。
通常,我们进行日志输出的时候都会限定在debug包下执行,对于非debug包,我们就不输出日志。那么如果是非debug,不同的日志输出方式可能存在一定的性能问题,本文将通过几个版本来对比着方面的差异。
原始版
这可能是最原始的版本打印日志了,判断是否是debug,然后决定是否输出日志
fun debugLog(message: String?) {
if (BuildConfig.DEBUG) {
Log.d("debugLog", message)
}
}
private fun testDebugLog() {
debugLog("getProperties " + getProperties()?.joinToString(