http://androidren.com/index.php?qa=361&qa_1=android-process%E7%9A%84%E6%9C%80%E5%A4%A7%E7%9A%84%E5%9D%91

每新建一个进程,Application的onCreate都将被调用一次。 这颠覆了很多人对Application的onCreate的理解。一般人都认为只会走一次。

所以在Application的onCreate中有初始化工作且需要根据进程来区分的。

解决方法:

在Application的onCreate中获取进程名称并进行相应的判断,例如:

private static String getProcessName(Context context) {

    try {        int pid = android.os.Process.myPid();        ActivityManager mActivityManager = (ActivityManager) context                .getSystemService(Context.ACTIVITY_SERVICE);        for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager                .getRunningAppProcesses()) {            if (appProcess.pid == pid) {                return appProcess.processName;            }        }    } catch (Throwable e) {    }    return "";}

 

    String processName = getProcessName(this, android.os.Process.myPid());    if (!TextUtils.isEmpty(processName) && processName.equals(this.getPackageName())) {//判断进程名,保证只有主进程运行//主进程逻辑    } else {//具体根据需要来处理。     return;    }

更多相关文章

  1. Android(安卓)SystemUI 闪烁
  2. Android(安卓)获取判断是否有悬浮窗权限的方法
  3. Android杂谈:cup信息查看
  4. Android(安卓)System Property
  5. 【Android】一键清理后台实现【附源码】
  6. Android(安卓)- 判断当前网络环境、隐藏软键盘、动态监测及获取
  7. 【白话】App从启动到页面显示出来发生了什么
  8. android 重要组件之一activity,及进程间的通信
  9. Android(安卓)Binder 驱动 - 内核驱动层源码分析

随机推荐

  1. Android自学笔记之Android常见命令操作及
  2. ASM-使用ASM Bytecode Outline插件查看字
  3. Android Material Design 控件常用的属性
  4. android 调用.net的web Service开发 (KSO
  5. Android程序的目录结构分析——manifests
  6. cocos2d-x学习之旅(四):1.4 使用eclipse
  7. Android中的进程(Process)和线程(Thread)
  8. Android绘制原理之刷新机制
  9. Android FactoryTest 流程
  10. (转)Android Animation学习笔记