首页 > 代码库 > android 应用内多进程
android 应用内多进程
做 android 1 年多今天发现 一个应用内也可以有多个进程的, 在这里记录一下
android 默认只有一个主进程, 4 大组件都在同一个主进程中运行
但 service、broadcast、activity provider 都可以通过指定 android:process 来启动一个新进程运行
项目中引用了一个第三方库,在退出应用的时候调用了 android.os.Process.killProcess(android.os.Process.myPid()) kill 掉了当前进程
而我们集成了极光推送导致极光推送的 service 也没了, 应用退出后就收不到推送了
怎么办呢, 把极光推送的 JPushService 放到一个单独的进程中去就行了, 上面的代码只会 kill 掉主进程, 不会杀死其它的进程
<serviceandroid:name="cn.jpush.android.service.PushService"android:enabled="true"android:process=":JPushService" ><intent-filter><action android:name="cn.jpush.android.intent.REGISTER" /><action android:name="cn.jpush.android.intent.REPORT" /><action android:name="cn.jpush.android.intent.PushService" /><action android:name="cn.jpush.android.intent.PUSH_TIME" /></intent-filter></service><serviceandroid:name="cn.jpush.android.service.DownloadService"android:enabled="true"android:process=":JPushService" ></service>
打开 DDMS 可以看到我们的应用现在有 2 个进程在运行了, back 键退出 主进程 销毁, JPushService 所在的进程还在
android 应用内多进程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。