问题场景:
项目需求 需要在用户打开App的时候添加定时器,这个操作我放在继承Application类 开了一个线程去完成了,但是发现这个操作被重复做了多次 。
用户在打开应用也就是在Application类里边的做的操作,被执行了多次。
现在三方SDK越来越多了,项目开启的服务也是越来越多了,我们细细查看清单文件:极光推送为例:
android:process=":multiprocess"
这样就开启了一个进程,每次多开一个进程 Application类 的方法就会执行一个 ,也就执行了多次,那么这样该怎么办呢:
思路:
判断哪个进程是我们的主进程 ,我们想要处理逻辑的进程呢?
执行:
ruby
//判断线程问题
String processName = AppUtils.getProcessName(this,
android.os.Process.myPid());
if (processName != null) {
boolean defaultProcess = processName
.equals(PRO_NAME);
if (defaultProcess) {
// 执行操作
}
}