如题,线下开发的时候打了一大堆Log,到了线上的话除了这些Log会打印出来,还有什么后果么?对应用的性能有什么影响?
log不影响性能,如果你担心log暴露(非有心为之)敏感信息,可以打包时配置屏蔽log输出就行。两种常用方案
1、统一包装自己的log工具类,使用sdk自带的BuildConfig类做判断是否应该输出log
if(BuildConfig.DEBUG){
Log.d("your tag", "your info");
}
这样,在非debug模式(一般即发行版本)上就能屏蔽log,前提是要输出log的地方要严格统一使用你包装的log类;
2、log输出使用的都是android Log类而非System.out,可以在build.gradle中配置屏蔽log参数
buildTypes {
debug {
// debug configuration
buildConfigField "boolean", "LOG_DEBUG", "true"
}
release {
buildConfigField "boolean", "LOG_DEBUG", "false"
}
}
一般清空日志是肯定需要的,最好是自己写一个进行管理,设置debug模式,测试就打印,正式发布就不打印这种。至于后果,因为是通过正式签名发布的了,所以不能被单独调试,但可以在整个手机日志里进行捕捉出来,如果有敏感信息会被人发现。至于性能,日志所占用性能有限,总体来说不会影响应用使用的效率。
如果不是别有用心的 android程序员,就没啥影响。。
就算别有用心,也没啥吧。。除非 你log打的太太太 那个,