android:process验证记录

我们都知道在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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值