[Android Pro] Android中全局Application的onCreate多次调用问题

简介:

一般来说Application的onCreate方法只会执行一次,

如果应用中采用多进程方式,oncreate方法会执行多次,根据不同的进程名字进行不同的初始化,

就是在application中多添加几个if else

复制代码
        String processName = OsUtils.getProcessName(this, android.os.Process.myPid());
        if (processName != null) {
            boolean defaultProcess = processName.equals(Constants.REAL_PACKAGE_NAME);
            if (defaultProcess) {
                initAppForMainProcess();
            } else if (processName.contains(":webbrowser")) {
                initAppForWebBrowseProcess();
            } else if (processName.contains(":wallet")) {

            }
        }
复制代码
复制代码
/**
     * @return null may be returned if the specified process not found
     */
    public static String getProcessName(Context cxt, int pid) {
        ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningAppProcessInfo> runningApps = am.getRunningAppProcesses();
        if (runningApps == null) {
            return null;
        }
        for (RunningAppProcessInfo procInfo : runningApps) {
            if (procInfo.pid == pid) {
                return procInfo.processName;
            }
        }
        return null;
    }
复制代码

 

分类:  Android Pro
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/4203433.html如需转载请自行联系原作者

demoblog
相关文章
|
15天前
|
数据库 Android开发
Android Studio开发之应用组件Application的讲解及实战(附源码,通过图书管理信息系统实战)
Android Studio开发之应用组件Application的讲解及实战(附源码,通过图书管理信息系统实战)
76 0
|
15天前
|
缓存 Android开发
Android——application全局类的使用
Android——application全局类的使用
|
15天前
|
缓存 Java 数据库
Android 性能优化: 请解释ANR(Application Not Responding)是什么,如何避免它?
Android 性能优化: 请解释ANR(Application Not Responding)是什么,如何避免它?
59 0
|
11月前
Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: ERROR: APK pat
Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: ERROR: APK pat
295 0
|
Android开发
The application could not be installed: INSTALL_FAILED_TEST_ONLY. Android App包安装失败(Bug记录)
The application could not be installed: INSTALL_FAILED_TEST_ONLY. Android App包安装失败(Bug记录)
|
安全 API Android开发
Android Application 之 allowBackup 属性浅析
Android Application 之 allowBackup 属性浅析
130 0
|
Java Android开发
android 接入USB输入设备后应用重跑onCreate
android 接入USB输入设备后应用重跑onCreate
101 0
|
Android开发
清单文件合并失败Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4
清单文件合并失败Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4
清单文件合并失败Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4
|
JavaScript Android开发 iOS开发
html通过js调用ios或android代码
html通过js调用ios或android代码
59 0
|
Android开发
Android Studio中添加Flutter模板直接调用
Android Studio中添加Flutter模板直接调用
159 0
Android Studio中添加Flutter模板直接调用