Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 减少ORMlite的内部日志详细程度或禁用它大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在@R_187_9616@程序中进行一些重要的性能调整,因此我们开始使用方法跟踪来找到瓶颈.

乍一看,Ormlite很好,但是我们发现,例如在一个需要8ms的查询中,Ormlite的内部日志需要6ms(75%).此外,这些日志调用处于DEBUG级别.

目前我尝试(没有成功)将日志级别设置为ERROR:

>使用adb:adb shell setprop log.tag.oRMLite ERROR
>使用logBACk:< logger name =“com.j256.ormlite”level =“Error”/>

这是logcat的几行

I/System.out( 4207): 2014-10-01 10:50:14,702 [DEBUG] BaseMappedStatement query-for-id using ...
I/System.out( 4207): 2014-10-01 10:50:14,706 [DEBUG] Statementexecutor execuTing raw query for ...
I/System.out( 4207): 2014-10-01 10:50:14,709 [DEBUG] SELEctIterator starTing iterator  @-1593957304 for ...
I/System.out( 4207): 2014-10-01 10:50:14,711 [DEBUG] SELEctIterator closed iterator @-1593957304 after 1 rows
I/System.out( 4207): 2014-10-01 10:50:14,714 [DEBUG] BaseMappedStatement query-for-id using ...
I/System.out( 4207): 2014-10-01 10:50:14,717 [DEBUG] BaseMappedStatement query-for-id using ...
I/System.out( 4207): 2014-10-01 10:50:14,718 [DEBUG] StatementBuilder built statement ...
I/System.out( 4207): 2014-10-01 10:50:14,719 [DEBUG] BaseMappedStatement prepared statement ...

这是一个方法跟踪的screnshot

有关如何解决这个问题的任何想法?

解决方法

通过方法跟踪,我们看到正在使用LOCALLOg.正如 LocalLog’s文档中所述:

我们无法使用adb sHell设置属性,因此我们将以下行添加到Application.onCreate中

System.setProperty(LOCALLOg.LOCAL_LOG_LEVEL_PROPERTY,"ERROR");

最后,我们停止在logcat上看到ORMLite输出,并且性能按预期增加.

大佬总结

以上是大佬教程为你收集整理的android – 减少ORMlite的内部日志详细程度或禁用它全部内容,希望文章能够帮你解决android – 减少ORMlite的内部日志详细程度或禁用它所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。