Android多进程使用场景

1 如何使组件运行在其他进程中

正常情况下,一个apk启动后只会运行在一个进程中,其进程名为AndroidManifest.xml文件中指定的应用包名,所有的基本组件都会在这个进程中运行。但是如果需要将四大组件运行在单独的进程中,就需要用到Android:process属性了。我们可以为android的组件指定process属性来指定它们运行在指定进程中。



通过设置组件的process属性可以开启新的进程,系统会创建一个独立的虚拟机,自然Application对象会再次创建一遍

静态成员在每个进程空间中都存在一份

2 多进程的好处

(1)Android系统对每个应用进程的内存占用是有限制的,占用内存越大的进程,通常被系统杀死的可能性越大。让一个组件运行在单独的进程中,可以减少主进程所占用的内存,降低被系统杀死的概率;

(2)如果子进程因为某种原因崩溃了,不会直接导致主程序的崩溃,可以降低主程序崩溃的概率;

(3)即使主进程退出了,子进程仍然可以继续工作,比如子进程是推送服务,在主进程退出的情况下,仍然能够保证用户可以收到推送消息。

3 多进程使用场景

(1)BroadcastReceiver

一个程序发送广播,可以启动其他程序的BroadcastReceiver。拿到清单文件中BroadcastReceiverintentFilter中的action属性值,可以在另一个应用中发送广播启动当前应用里的BroadcastReceiver。

(2)ContentProvider

一个应用通过ContentProvider向其他的应用暴露自己的数据,供其他应用访问

(3)启动其他应用的activity或者service

到清单文件中Service/Activity配置的intentFilter中的action属性值,可以在另一个应用中启动当前应用中的Service/Activity,或者通过包名和组件名启动其他应用的组件。



参考链接:

http://blog.csdn.net/goodlixueyong/article/details/49853079






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值