最近開發中集成了融雲聊天,觀察其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();
}
}
}