android:process验证记录

来源:互联网 发布:mirrorlink已认证软件 编辑:程序博客网 时间:2024/04/20 04:31

我们都知道在xml中给某个组件添加android:process可以为此组件创建新的运行进程;


ContentProvider的创建会早于Application的onCreate,这点区别于其他三大组件;


今天针对ContentProvider开启android:process做了一些验证,相信对于同等地位的四大组件可以通用:

1、新创建的进程包名依旧是主进程的包名,不会随着android:process所定义的值发生改变,

2、同时新的进程也不会在data/data/下创建新的文件目录,而是共享了主进程的文件目录;

3、通过getContext().getApplicationInfo().processName获取到的依然是同主进程的包名,而如果想要获取android:process的值,则需要通过以下代码获取:

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;}