Wir machen einige schwere Leistungsoptimierung in unserer App, daher beginnen wir mit Methodenverfolgung, um die Engpässe zu finden.Verringern Sie ORMlites interne Protokoll Ausführlichkeit oder deaktivieren Sie es
Auf den ersten Blick Ormlite war in Ordnung, aber wir fanden, dass zum Beispiel in einer Abfrage, die 8ms dauert, 6ms (75%) von Ormlite internen Protokoll benötigt wurden. Darüber hinaus sind diese Log-Aufrufe in DEBUG-Ebene.
Im Moment habe ich (ohne Erfolg) versucht haben, Log-Level Einstellung auf diese Weise Fehler:
- mit adb:
adb shell setprop log.tag.ORMLite ERROR
- mit logback:
<logger name="com.j256.ormlite" level="ERROR"/>
Dies sind ein paar Zeilen aus dem 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 ...
Hier ist ein screnshot von met Tracing
Irgendwelche Gedanken auf, hod, wie dies umgehen aus?
Also standardmäßig Android ist im INFO-Log-Modus. Wollen Sie sagen, dass ORMLite DEBUG-Nachrichten sogar auf dieser Ebene ausspuckte? Oder war das ein Leistungsproblem mit den DEBUG-Protokollnachrichten, obwohl sie nicht angezeigt wurden? – Gray
Nur für andere, ORMLite's Dokumente über Android Logging sind hier: http://ormlite.com/docs/android-logging – Gray
@Gray Ich habe einige zusätzliche Informationen hinzugefügt, Was ist seltsam ist, dass Logcat Ausgabe erscheint als Info (I/Sytem. out) aber das verwendete Tag ist debug ([DEBUG]) – Axxiss