[英]Why does Android Studio's logcat not fully output logs?
我用了一個循環來輸出日志,但是logcat中並沒有全部打印出來,還有一些缺失的日志信息沒有顯示出來。 如何完整輸出所有信息?
for (int i=0;i<(mSpaceCount + mPulseCount);i++)
{
Log.i("flag", "~~~~m_bitDateF[i] : "+m_bitDateF[i]+" i :"+i);
}
輸出如下:
............
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :434
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :435
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :436
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :437
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :438
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :439
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :440
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :441
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :442
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :443
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :444
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :445
12-28 18:43:24.215 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :446
12-28 18:43:24.216 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :447
12-28 18:43:24.216 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :448
12-28 18:43:24.216 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :449
12-28 18:43:24.219 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :601
12-28 18:43:24.219 20116 20503 I flag : ~~~~m_bitDateF[i] : 3.5 i :604
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :749
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :756
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :757
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :758
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :759
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :760
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :761
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :762
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :763
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :764
12-28 18:43:24.222 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :765
12-28 18:43:24.224 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :837
12-28 18:43:24.224 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :838
12-28 18:43:24.224 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :839
12-28 18:43:24.224 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :840
12-28 18:43:24.224 20116 20503 I flag : ~~~~m_bitDateF[i] : -3.5 i :841
............
可以看到449到601和604到749之后跳過了輸出,但是應該執行了循環,但是沒有輸出。 不知道為什么沒有全部輸出,而且問題是隨機的,有時會正常輸出。 如何使 logcat 完整輸出日志?
在查看 Logcat 時,您應該查看左側的時間戳。 例如18:43:24.215
。 .215
是毫秒。 如果您查看以同一毫秒結尾的輸出,您會發現每毫秒大約輸出 20 行輸出。
現在,看看你跳過數字的輸出,看看毫秒。
18:43:24.215 : i :446
18:43:24.216 : i :447
18:43:24.216 : i :448
18:43:24.216 : i :449
// it's skipping here //
18:43:24.219 : i :601
18:43:24.219 : i :604
它跳過了大約 3 毫秒。
所以,發生的事情是您正在注銷所有內容,這只是使 LogCat 過載而無法打印出太多內容。
如果您確實想注銷所有這些信息,則需要更改您的登錄方式。
例如,您可以創建一個String
,附加每個循環,然后在完成后記錄完整的輸出。 請注意,您可以使用StringBuilder
以獲得更好的結果。
// Create a String to hold all the log information.
String log = "";
for (int i=0 ;i < (mSpaceCount + mPulseCount); i++) {
// Append the log information to our String.
// Add a "\n" to add a new line at the end of each line.
log += "~~~~m_bitDateF[i] : " + m_bitDateF[i] + " i :" + i + "\n";
}
// Finally, log the output.
Log.i("flag", log);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.