最近开发中集成了融云聊天,观察其sdk源码可以发现运用了多进程,这就导致application的onCreate方法会执行多次,浪费时间,下面贴出解决方案:
/**
* 获得当前进程的名字
*
* @param context
* @return 进程号
*/
public static String getCurProcessName(Context context) {
int pid = android.os.Process.myPid();
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo appProcess : activityManager
.getRunningAppProcesses()) {
if (appProcess.pid == pid) {
return appProcess.processName;
}
}
return null;
}
onCreate方法这样写:
@Override
public void onCreate() {
super.onCreate();
initIm();
String processName = getCurProcessName(this);
if (!TextUtils.isEmpty(processName)) {
boolean defaultProcess = processName.equals("你的包名");
if (defaultProcess) {
//当前应用的初始化
initBug();
initApp();
}
}
}