Android避免多进程Application onCreate中初始化代码执行多次

来源:互联网 发布:如何评价林俊杰 知乎 编辑:程序博客网 时间:2024/05/18 22:52

很多时候一些库、SDK需要在Application onCreate中初始化, 如果App是多进程模式, Application onCreate中初始化会执行多次. 导致初始化代码执行了多次.

思路就是判断当前进程是主进程才执行初始化代码.

if (TextUtils.equals(getCurrentProcessName(this), getPackageName())) {         init();//判断成功后才执行初始化代码}

getCurrentProcessName()

private String getCurrentProcessName(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;}
阅读全文
0 0
原创粉丝点击