java - Android SDK logcat 是否按照创建自定义 Log.d() 消息的顺序显示它们?

标签 java android logcat android-logcat

我在线程中有以下代码部分

    if(isPlaying){
        if(applyDsp){
            // Convert short lin[] to double
             Log.d("MYLOG", "applyDSP is True");

            if(bufferFull){
                // when the code reaches here x[39] always holds the latest sample
                // (if lin.length  == 1)
                Log.d("MYLOG", "bufferFull is True");
                for(i=0;i<(lin.length - 1);i++){
                    x[i] = x[i+1];
                }
            }  

这是在线程内的无限循环内。在这个无限循环结束之前,线程的 run() 函数不会结束。因此,上面的代码部分会不断被调用,直到其他地方满足其他条件为止。 applyDspbufferFullboolean 变量。它们最初为 false,但一旦变为 true,它们就不会在 run() 函数内的无限循环内重置为 false。一旦 bufferFull 变为 true,消息 applyDSP is TruebufferFull is True 应在每次无限循环执行时交替显示。但我看到有时消息 applyDSP is True 连续出现多次,然后两者交替出现,然后 applyDSP is True 再次连续出现,然后又交替出现,依此类推。我已经多次查看代码,但找不到为什么 bufferFull 会重置回 false。所以我现在猜测消息可能没有以正确的顺序显示。

Logcat 是否在显示消息之前先缓冲消息,或者消息在 Logcat 上显示的顺序是否与创建消息的顺序完全相同?

---编辑---
使用@TCA对答案的评论中解释的方法,它只将logcat输出的一小部分写入文件,可能是在给出命令时生成的。我希望将 logcat 输出流式传输到文件,就像流式传输到 android SDK 中的 logcat 面板一样。

最佳答案

我认为它会按顺序输出日志消息,如果您有疑问追加

System.currentTimeMillis()

使用您的日志消息并检查时间。

喜欢

Log.d("MYLOG TIME IN MILLSEC:"+System.currentTimeMillis(), "bufferFull is True");

关于java - Android SDK logcat 是否按照创建自定义 Log.d() 消息的顺序显示它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18570751/

相关文章:

java.io.IOException : Wrong version of key store. 使用 SpongyCaSTLe

Java - 用于存储函数的类型安全异构容器模式

android - "unable to run mksdcard sdk tool"安卓工作室 ubuntu 16.04

android - 日期选择器在 Android 中不起作用

java - android.view.InflateException : Binary XML file line #10

java - 如何从 SelectOneMenu 中的选定项目更新 JSF SelectManyListBox 项目?

java - 如何在java中对队列进行排序?

java - 如何在 Android java 代码中同时使用 CordovaActivity 和 AppCompatActivity?

java - RecyclerView.ViewHolder 是否必须始终是内部类?

android - 找不到从 Google Play Services Util 引用的类