博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
application 启动多次
阅读量:6828 次
发布时间:2019-06-26

本文共 962 字,大约阅读时间需要 3 分钟。

hot3.png

如果你的manifest文件中配置的 service (或activity)添加了 process = :xxx 标签, 那么这个service 或activity 会运行的另外的进程中, 这样或导致 application 对象初始化多次。

下面的com.zzw.october、com.zzw.october:push、com.zzw.october:remote 是三个独立的进程。

171919_QJZ0_255456.png

如果在application 的oncreate 方法中做了一些不能重复的初始化,那么需要对 application name 做过滤:

//umeng, baidu 等service 运行在单独的进程中,导致重复初始化公共组件, 所以过滤掉String currentProcName = "";int pid = android.os.Process.myPid();ActivityManager manager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);for (ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()){    if (processInfo.pid == pid)    {        currentProcName = processInfo.processName;        Log.w(TAG, "process name:" + currentProcName);        if(currentProcName != null && !currentProcName.equals("com.zzw.october")){            Log.w(TAG, "not main app, process name:" + currentProcName);            return;        }    }}//initializing........

转载于:https://my.oschina.net/u/255456/blog/535508

你可能感兴趣的文章
网站静态化处理
查看>>
python 之多线程加锁
查看>>
网卡聚合&磁盘配额
查看>>
我的友情链接
查看>>
exchange快速将断开的邮箱显示出来
查看>>
linux 下查找文件或者内容常用命令
查看>>
Linux常用系统调用表
查看>>
linux x86_64要注意的问题
查看>>
批处理中的call与start的个人学习心得
查看>>
BGP反射(RR)
查看>>
×××运算取ceiling
查看>>
搜索引擎的前世今生
查看>>
JSP
查看>>
经典排序算法 - 地精排序Gnome Sort
查看>>
mysql rand函数
查看>>
24种编程语言的Hello World程序
查看>>
Java中main函数参数String args[] 和 String[] args 区别
查看>>
Jarvis Oj Pwn 学习笔记-Tell Me Something
查看>>
【WP7进阶】——XNA游戏精灵的动画
查看>>
cat echo 输入多行文字至文本中
查看>>