日志消息在简单的时候丢失(i

时间:2012-04-04 08:34:11

标签: android logging

在这个非常简单的代码示例中,消息每隔一段时间就丢失一次。这有什么不对?

public class AndroidTesterActivity extends Activity {
   private static final int END = 500000;
   private static int i = 0;
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      i=0;
   }

   @Override
   public void onResume()
   {
      super.onResume();
      while(i < END)
      {
         Log.d("x", ""+i++);
      }
      Log.e("x", "END");
   }
}

例如,我得到两条连续的日志消息139371和140001 ......所以即使i被计算在内,仍会丢失630条消息?如果没有写入日志,如何计算i? 我已经搜索过,如果其他人已经有同样的问题,但没有找到任何东西。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

只是一个没有受过教育的猜测:Log类并没有直接推送所有内容,我认为它会在某些特定条件下收集和推送。因为你的循环应该非常快,所以在某些情况下,日志缓冲区(或其他东西)可能会在刷新之前被覆盖。

我会尝试在一个线程中创建它并在sleep()之间调用一些ms。也许你可以重现这个或找到这种行为消失的值。