您的位置:首页 > 移动开发

多进程导致Application多次启动

2017-08-16 10:36 204 查看
前几天碰到一个问题,application多次启动,开始并不清楚是什么原因,后来看到在我们自己的插件里也有一个进程启动了这个application

所以我的application多次启动是因为多进程

那我们如何来避免这个问题呢

判断是否当前程序主进程

private boolean isMain() {
int pid = android.os.Process.myPid();
String processName = "";
ActivityManager mActivityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager.getRunningAppProcesses()) {
if (appProcess.pid == pid) {
processName = appProcess.processName;
break;
}
}
String packageName = this.getPackageName();
if (processName.equals(packageName)) {
return true;
}
return false;
}


因为我在application中做了启动服务的操作 如果applicaiton多次启动 那服务就启动两次为了避免重复启动所以在这里我的用法是判断是否主进程再进行启动服务

if (isMain()) {
startService(new Intent(this, GameBoostService.class));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐