Application中onCreate执行多次
今天我创建了三个Service并且设置了两个进程,同时在application中做初始化突然发现onCreate方法执行了多次,查阅文档才明白,原来系统启动启程时需要多次回调这个application类,因此搜索了些解决方案,发现博客文章很多解决方案都不正确。于是决定自己写一个准确的
首先我了解这个进程是以什么形式创建的,创建的数量有多少?
/**
* 获取进程名称
* @param cxt 上下文
* @return boolean值 默认为flase
*/
public void getProcessName(Context cxt) {
ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningApps = am.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo procInfo : runningApps) {
System.out.println("result-->" + procInfo.processName+":::"+procInfo.pid);
}
}
以上是我获取所有进程的方式,再来看看结果