AirPadでイベントがいつ発生するかを把握しようとしているので、logcatコマンドを発行しています。
adb logcat -v time -d -b radio -b events -b main -b system -b radio
ただし、タイムスタンプを見ると、各バッファの最初のタイムスタンプは、その前のバッファの最後のタイムスタンプの直後に開始されているように見えます。
--------- beginning of /dev/log/radio
10-20 19:30:37.878 D/RILD ( 53): Do not switch user to radio
...
10-20 19:30:37.998 D/RIL ( 53): Wait device...
--------- beginning of /dev/log/events
10-20 19:30:39.608 I/boot_progress_start( 54): 9398
...
10-20 19:31:13.998 D/RIL ( 53): Wait device...
--------- beginning of /dev/log/system
10-20 19:31:15.008 D/ConnectivityService( 99): tearing down Mobile networks due to setting
...
10-20 19:32:28.418 V/ActivityManager( 99): Launching: HistoryRecord{408d6a00 com.Amazon.Kindle/com.Amazon.kcp.reader.BookReaderActivity} icicle=null with results=null newIntents=null andResume=true
--------- beginning of /dev/log/main
10-20 19:32:28.428 D/VPU ( 55): VPU: vpu_power_on 01`
だから私の質問は、タイムスタンプは何を表していますか?それらはイベントが発生した時間を表しますか?もしそうなら、なぜ彼らはこのように働いているのですか?
タイムスタンプは正しいです。
複数のバッファーを指定する場合、logcatはそれらすべてを絡み合わせ、時間順に並べられたすべてを出力します。 「beginningof ..」行は、各バッファの最初のメッセージがどこにあるかを示しているだけです。それらはnotファイルセパレータです。
タイムスタンプは、イベントの時刻を表します。
logcatは、実際には複数のバッファーの指定をサポートしていません。表示されているように見えますが、「-d」を省略すると、引き続き1つのバッファーのみが表示されます。
Adb logcatが最初に(リング)バッファリングされたエントリを表示するため、タイムスタンプは異常に見えます。 「-g」でバッファサイズを確認できます。私の電話ではその256kb。