自己写了一个音视频通讯的SDK,由于做了双进程保活,造成很多代码会执行两次,在日志从发现一个在主进程,另一个在守护进程,逐步寻找,最后发现是Application的OnCreate方法会执行两次。原来是多进程的缘故,导致了Application创建了两次,每个进程都会有一个Application,于是就找到以下解决方法:
主要就是:android:process这个属性,这个属性有什么作用?
在Android的帮助文档中我们可以了解到,一般情况下一个服务没有自己独立的进程,它一般是作为一个线程运行于它所在的应用的进程中。但是也有例外,Android声明文件中的android:process属性却可以为任意组件包括应用指定进程,换句话说,通过在声明文件中设置android:process属性,我们可以让组件(例如Activity, Service等)和应用(Application)创建并运行于我们指定的进程中。