确定进程com.android.browser是否正在运行

时间:2011-03-07 15:41:20

标签: android

如何确定流程com.android.browser是否正在运行?

3 个答案:

答案 0 :(得分:1)

使用ActivityManager#getRunningAppProcesses()。它将返回List RunningAppProcessInfo。您可以查看列表中每个元素的processName,看看它是否是您正在寻找的过程。

boolean isNamedProcessRunning(String processName)
{
    if (processName == null) return false;

    ActivityManager manager = 
        (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
    List<RunningProcessInfo> processes = manager.getRunningAppProcesses();

    for (RunningProcessInfo process : processes)
    {
        if (processName.equals(process.processName)))
        {
            return true;
        }
    }
    return false;
}

答案 1 :(得分:0)

我能想到以下几点:

  1. 使用HashKey获取对象实例的引用。
  2. 使用内存分析器工具(如Java Monitor或JMAP)查看在内存中实例化的对象
  3. 使用JDK获取Java堆转储并分析结果。
  4. 在实例化或销毁对象时,在您自己的应用程序中添加一些内容以进行记录。
  5. PS。有点奇怪的问题。你能告诉我你为什么需要这个吗?

答案 2 :(得分:0)

这是工作代码:

public static boolean isThisProcessRunning(Context context, String processName) {
    if (processName == null){
        return false;
    }
    ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();
    for (RunningAppProcessInfo process : processes) {
        if (processName.equals(process.processName)) {
            return true;
        }
    }
    return false;
}