我給它一試運行,我遇到了同樣的事情。如果未啓用 到至少Log.VERBOSE水平 該標籤在創建時則 addSplit和Log.isLoggable
:這一切都歸結於描述在Javadoc for TimingLogger這一點點dumpToLog調用將不會執行 。
我做了一個測試本地:
TimingLogger timings = new TimingLogger("MyTag", "Initialization");
Log.d("MyTag", "Is Loggable? " + Log.isLoggable("MyTag", Log.VERBOSE));
timings.dumpToLog();
而且奇怪的是,我得到一個輸出到日誌:
06-28 08:35:18.693: DEBUG/MyTag(24366): Is Loggable? false
但僅此而已。而且因爲它是假的,我懷疑TimingLogger是基於做任何事情時,TimingLogger code:
90 /**
91 * Clear and initialize a TimingLogger object that will log using
92 * the tag and label that was specified previously, either via
93 * the constructor or a call to reset(tag, label). If the
94 * Log.isLoggable is not enabled to at least the Log.VERBOSE
95 * level for that tag at creation time then the addSplit and
96 * dumpToLog call will do nothing.
97 */
98 public void reset() {
99 mDisabled = !Log.isLoggable(mTag, Log.VERBOSE);
100 if (mDisabled) return;
101 if (mSplits == null) {
102 mSplits = new ArrayList<Long>();
103 mSplitLabels = new ArrayList<String>();
104 } else {
105 mSplits.clear();
106 mSplitLabels.clear();
107 }
108 addSplit(null);
109 }
我不知道爲什麼Log.isLoggable是返回false當它以高於VERBOSE明顯日誌,因爲我Log.d明顯登錄。
您可以啓用從[Log類的Javadoc]手動該標籤記錄[3]:「setprop log.tag:
您可以通過設置 系統屬性更改默認的水平。 '其中 級別是VERBOSE,DEBUG,INFO, WARN,ERROR,ASSERT或SUPPRESS。 SUPPRESS將關閉所有日誌記錄 您的標記。您還可以創建一個 local.prop文件,其中包含 : 'log.tag。='和 將其放置在/data/local.prop中。
這一點我通過adb shell
做:
$ adb shell
# setprop
usage: setprop <key> <value>
# setprop log.tag.MyTag VERBOSE
#
結果:
06-28 08:53:42.447: DEBUG/MyTag(24739): Is Loggable? true
06-28 08:53:44.744: DEBUG/MyTag(24739): Initialization: begin
06-28 08:53:44.744: DEBUG/MyTag(24739): Initialization: end, 0 ms
見droidgren對這個答案的評論 - 這顯然是爲了addSplit呼叫也是必要的。
[3]:http://developer.android.com/reference/android/util/Log.html#isLoggable(java.lang.String,INT)
謝謝,那就是了! 但是你需要至少有一個timings.addSplit才能真正測量任何時間。 而且您只需要爲每個標記執行一次setprop。 太棒了! – droidgren 2010-06-28 15:58:12
VERBOSE對於Android來說是「高於」DEBUG的。 – George 2012-02-13 23:00:04
@mbafford:也許你應該更新答案,所以通過閱讀它可以知道至少需要調用一次addSplit方法。 – wojciii 2012-11-01 09:47:49