什么是 DropBoxManager ?
Enqueues chunks of data (from various sources – application crashes, kernel log records, etc.). The queue is size bounded and will drop old data if the enqueued data exceeds the maximum size. You can think of this as a persistent, system-wide, blob-oriented “logcat”.
DropBoxManager 是 Android 在 Froyo(API level 8) 引入的用来持续化存储系统数据的机制, 主要用于记录 Android 运行过程中, 内核, 系统进程, 用户进程等出现严重问题时的 log, 可以认为这是一个可持续存储的系统级别的 logcat.
我们可以通过用参数 DROPBOX_SERVICE 调用 getSystemService(String) 来获得这个服务, 并查询出所有存储在 DropBoxManager 里的系统错误记录.
Android 缺省能记录哪些系统错误 ?
我没有在官方的网站上找到关于哪些系统错误会被记录到 DropBoxManager 中的文档, 但我们可以查看源代码来找到相关信息. 从源代码中可以查找到记录到 DropBoxManager 中各种 tag
(类似于 logcat 的 tag
).
crash (应用程序强制关闭, Force Close)
当Java层遇到未被 catch 的例外时, ActivityManagerService 会记录一次 crash
到 DropBoxManager中, 并弹出 Force Close
对话框提示用户.
ActivityManagerServicelink
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|