android application对象多次实例化

  android application 这个对象可能会被多次实例化, 这种情况在使用android:process元素的时候就会出现. 

其根本的原因是新开启的进程需要一个application对象服务4大组件.

  下面给出一段获得当前进程的名称的代码, 通过它, 就可以判断是否运行在主进程了。

/**
	返回进程的名称, 如果是主进程, 则返回package name
*/
public static String getCurProcessName(Context context) {
	int pid = Process.myPid();
	ActivityManager mActivityManager = (ActivityManager)context.getSystemService("activity");
	Iterator iter = mActivityManager.getRunningAppProcesses().iterator();

	RunningAppProcessInfo appProcess;
	do {
		if(!iter.hasNext()) {
			return null;
		}

		appProcess = (RunningAppProcessInfo)iter.next();
	} while(appProcess.pid != pid);

	return appProcess.processName;
}

  

你可能感兴趣的:(android application对象多次实例化)