【发布时间】:2017-02-09 08:06:54
【问题描述】:
在以前的 Android 版本中,我可以通过使用 top call 来获取 CPU 使用率
String[] cmd = {
"sh",
"-c",
"top -m 1000 -d 0 -n 1 | grep \"" + aAppPID + "\""};
lProcess = Runtime.getRuntime().exec(cmd);
BufferedReader lReader = new BufferedReader(new InputStreamReader(lProcess.getInputStream()));
Android 7 似乎已更改了安全性或其他内容不允许这样做。现在,如果附加到 Android Studio,它将给我一条 CPU % 为 1 的行。如果运行发布版本,我看到它不返回任何行。
有谁知道是否可以添加一个权限来允许这个?
我最好的猜测是此处记录的权限说明与此问题有关。
https://developer.android.com/about/versions/nougat/android-7.0-changes.html#perm
这是另一个问题的链接,我发布了一个在 Pre-7 版本中获取 CPU 使用率的解决方案。
How do I get the total CPU usage of an application from /proc/pid/stat?
【问题讨论】:
-
这个问题有更新吗?我似乎也被这个问题困住了。
-
我认为不会有解决此问题的方法。我认为从安全的角度来看,Google 正在将事情锁定得更紧,除非他们为此创建 API,否则我们将无法访问。
-
Google 似乎决定拿走更多而不是归还访问权限。 stackoverflow.com/questions/46182041/…
标签: android android-permissions android-7.0-nougat