打开任务管理器,杀死应用,导致程序奔溃,报下面的错误:
经过测试是加入小米推送导致的。问小米推送的技术支持,说从callstack中看,是share sdk只允许在主进程注册,不允许在其它进程注册。而小米推送需要创建不同的进程。
application的onCreate方法是“进程“的入口,app创建的所有进程都会调用这个方法。所以创建小米推送进程时调用了application的onCreate方法,导致了这个错误。解决方案是像小米推送初始化一样,在sharesdk初始化时加一个判断。
究其原因,这涉及到多进程模式的运行机制。小米的pushservice要跑在一个新的进程中的时候,由于系统要创建新的进程同时分配独立