谨慎初始化Application
Android应用可以支持开启多个进程。 通常的做法是这样
123
通常我们在Application的onCreate方法中会做很多初始化操作,但是每个进程启动都需要执行到这个onCreate方法,为了避免不必要的初始化,建议按照进程(通过判断当前进程名)对应初始化.
12345678910111213141516171819202122232425262728
publicclassMyApplicationextendsApplication{privatestaticfinalStringLOGTAG="MyApplication";@OverridepublicvoidonCreate(){StringcurrentProcessName=getCurrentProcessName();Log.i(LOGTAG,"onCreate currentProcessName="+currentProcessName);super.onCreate();if(getPackageName().equals(currentProcessName)){//init for default process}elseif(currentProcessName.endsWith(":network")){//init for netowrk process}}privateStringgetCurrentProcessName(){StringcurrentProcessName="";intpid=android.os.Process.myPid();ActivityManagermanager=(ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);for(ActivityManager.RunningAppProcessInfoprocessInfo:manager.getRunningAppProcesses()){if(processInfo.pid==pid){currentProcessName=processInfo.processName;break;}}returncurrentProcessName;}}
上面的一些知识就是关于Android中如何避免创建多余对象的总结.欢迎提出意见和观点,共同进步.