启动应用程序时,我运行了一个logcat进程,用于将日志记录数据保存在android设备上。
例如这样的东西。
@Override
protected void onCreate(Bundle savedInstanceState)
{
Process process = Runtime.getRuntime().exec("logcat -c");
File logDir = new File("pathToLogFile");
process = Runtime.getRuntime().exec("logcat -f " + logFile.getAbsolutePath() + " " + Setting.getInstance().logKey + ":V *:E");
}
这很好。如果活动多次启动则显示:在日志文件中为每个事件创建了多行
Log.d("some log entry");
在日志文件中创建这些条目
01-09 16:04:15.942 24768 24883 D IDDT : some log entry
01-09 16:04:15.942 24768 24883 D IDDT : some log entry
01-09 16:04:15.942 24768 24883 D IDDT : some log entry
01-09 16:04:15.942 24768 24883 D IDDT : some log entry
我的教育性猜测是,重新创建活动时logcat -f
仍在运行。这意味着每个logcat -f
进程都会为每个事件创建一个日志条目行。我该如何解决这个问题?有没有办法检查logcat -f
命令是否已经在运行?