我的应用程序的Logcat输出从logcat输出中消失

时间:2012-05-31 09:16:57

标签: android logcat

我的应用程序的logcat输出有问题:
通常记录到logcat工作。但有时我的应用程序的输出似乎完全从logcat输出中删除。虽然我可以证明应用程序已记录,但logcat中没有一行。

这是什么时候发生的: 我通过BroadcastReceiver启动服务,在午夜唤醒我的应用程序。应用程序唤醒并创建一个日志文件,通过调用写入两者的函数并行写入该文件和logcat。日志文件包含3行。 (然后应用程序以某种方式死亡。)至少这3行也已记录到logcat。
第二天,我显示所有包含午夜的logcat消息。我的应用没有记录任何一行。

我认为Android已经从内存中清除了我的应用程序,并且在午夜它再次加载(并且由于未正确初始化而崩溃)。但为什么没有logcat输出?

感谢您的提示。

1 个答案:

答案 0 :(得分:0)

Logcat有大小限制。一旦达到此限制,就会清除较旧的消息,以便为新的消息腾出空间。这不是Logcat专门删除应用程序的消息,而是在运行过夜的过程中有很多其他消息要发送到Logcat你的被删除了。

要查看特定设备上的缓冲区大小,请将其插入并在shell窗口中执行以下命令:

adb logcat -g

如果您需要在物理上无法查看输出窗口的时候收集日志消息,那么您通过登录文件做了正确的事情。我做了类似的事情,我将在构建中设置一个全局标志,告诉它是否正常记录或输出到手机上的本地文件。