Android应用程序的onCreate调用了多次,如何保证只运行初始化一次 res



我要为我的应用程序运行一些初始化代码,但是有两个进程,一个是我的主进程,另一个是保持活动进程。现在应用OnCreate()将运行两次,我只是想在我的主进程中运行一次初始化代码。我知道有一种方法,我可以ActivityManager获得运行的进程信息,通过比较pid知道当前进程信息,如下面的代码:

public static String getProcessNameByPID(Context context, int pid){
        ActivityManager manager
                = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        for(ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()){
            if(processInfo.pid == pid){
                return processInfo.processName;
            }
        }
        return "";
    }

但是现在Android 5.0+杀死了getRunningTasks(int)和getRunningAppProcesses(),还有其他的想法吗?

检查是否声明了全局变量

private String globalString;
private int globalInt;
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    if (globalString == nil)
    {
        globalString = "Declaration";
        globalInt = 42;
        //Everything else
    }
}
private boolean firstTime= true;
@Override
 protected void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);
     if (firstTime) {
         //Code to run first time
   }
}

我曾经第一次运行代码

最新更新