概述
很多时候一些库、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;
}
最后
以上就是内向星星为你收集整理的Android避免多进程Application onCreate中初始化代码执行多次的全部内容,希望文章能够帮你解决Android避免多进程Application onCreate中初始化代码执行多次所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复