【发布时间】:2012-08-17 16:41:05
【问题描述】:
如何编写自己的代码来使用“meminfo”系统服务?或者如何添加自己的系统服务?我的目标是在应用运行时自动采样内存使用数据,并在事后分析数据。
【问题讨论】:
标签: android logging memory-management sampling
如何编写自己的代码来使用“meminfo”系统服务?或者如何添加自己的系统服务?我的目标是在应用运行时自动采样内存使用数据,并在事后分析数据。
【问题讨论】:
标签: android logging memory-management sampling
如何编写自己的代码来使用“meminfo”系统服务?
本身没有“meminfo”系统服务。要访问生成所有“meminfo”输出的代码,您需要编写包含您的代码(并根据需要对 Android 进行修改)的定制版 Android 操作系统。
话虽如此,一些“meminfo”数据来自ActivityManager 和getProcessMemoryInfo()。 Dianne Hackborn has an epic SO answer on this topic.
或者如何添加自己的系统服务?
见上文。
我的目标是在应用运行时自动采样内存使用数据,并在事后分析数据。
假设getProcessMemoryInfo() 有你需要的东西,你应该可以从一个普通的 SDK 应用程序中做到这一点。
【讨论】:
ActivityManager.MemoryInfo 暴露的信息比帖子中描述的要少。见developer.android.com/reference/android/app/…