Android知识Android技术知识

Android 多进程总结

2017-04-17  本文已影响296人  凌空御风

概念

首先,我们知道进程是系统分配资源和调度的基本单位。每个进程都有自己独立的资源和内存空间,别的进程是不能随意访问的。一般情况下,一个应用默认有一个(主)进程,进程名即包名。Android多进程即一个应用拥有多个进程。那么如何让应用拥有多进程呢?

android:process

实现多线程需依赖android:process属性,四大组件在manifest中注册时设置这个属性,标记所属进程。两种形式:

优缺点

** 优点:**

** 缺点:**

获取进程名称的方法

public static String getCurProcessName(Context context) {
    int pid = android.os.Process.myPid();
    ActivityManager mActivityManager = (ActivityManager) context
            .getSystemService(Context.ACTIVITY_SERVICE);
    for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager
            .getRunningAppProcesses()) {
        if (appProcess.pid == pid) {
            return appProcess.processName;
        }
    }
    return null;
}

public static String getProcessName() {
    try {
        File file = new File("/proc/" + android.os.Process.myPid() + "/" + "cmdline");
        BufferedReader mBufferedReader = new BufferedReader(new FileReader(file));
        String processName = mBufferedReader.readLine().trim();
        mBufferedReader.close();
        return processName;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

两种方法都行,第一种主流方法,第二种效率较高。
以上是一些总结记录,供参考学习。

参考

关于Android多进程的整理

上一篇 下一篇

猜你喜欢

热点阅读