当 android 应用程序 (JNI+Java) 进入后台时,基于 Elixir 监视器它会占用 40-80% 的 CPU 而没有任何明显的原因。Logcat 没有任何实际活动的迹象,DDMS 方法分析器没有找到任何方法调用。
事实上,几分钟后 OS (ISC) 至少有时似乎会自动修复它:重新启动应用程序进程,然后正如预期的那样 - 占用 0% 的 CPU 和一些内存。当我再次启动应用程序并按 home 将其带到后台时,会发生同样的 CPU 占用。
有什么想法可以调查吗?
当 android 应用程序 (JNI+Java) 进入后台时,基于 Elixir 监视器它会占用 40-80% 的 CPU 而没有任何明显的原因。Logcat 没有任何实际活动的迹象,DDMS 方法分析器没有找到任何方法调用。
事实上,几分钟后 OS (ISC) 至少有时似乎会自动修复它:重新启动应用程序进程,然后正如预期的那样 - 占用 0% 的 CPU 和一些内存。当我再次启动应用程序并按 home 将其带到后台时,会发生同样的 CPU 占用。
有什么想法可以调查吗?
所以我的结论是:1.如果Profiler中没有显示方法调用,那么很可能意味着在NDK端浪费了CPU,2.应该在那里使用基于GDB的分析,可能是这样的