如何在一个进程监控其他进程当前在调用哪个方法?
我需要做一个工具,在运行时获取某个delvik VM当前的方法堆栈,知道该进程当前正在调用哪一个方法(调用树可以从源码或分析class文件得到)从而做出一些动态的优化。想请教一下怎样在运行时在某一个进程内获取其他进程的运行情况?不知道某个Delvik VM的StackTrace在修改了权限后是不是可以被其他进程访问,而这个stacktrace的实时性足以满足实时监控的需求吗?
举例来说,就是当前进程中有一个cpu占用率很高的方法,那么可以在下次发现调用这个方法时,把这个部分转移到网路内的PC上或者云端完成(服务器端以及转移的问题不考虑),从而提升整体的性能。
请问通过stack trace可以做到这一点吗?还是需要更底层的对Delvik VM的监控信息?
谢谢! --------------------编程问答-------------------- 如果有root权限,你的要求HOOK 孵化器就行了,不过hook住系统的remote service调用层,比较好,毕竟还可以判断是否访问网络或定位服务这些申请操作,市面上公开的,可以参考下LBE出的有个东西,不过它那玩意兼容性不靠谱,改进下还有点发展余地, --------------------编程问答-------------------- 老帖也顶一下,求解。
补充:移动开发 , Android