android系统中的进程和线程


当一个应用部件启动并且该应用没有其他的部件运行,android系统为该应用开启一个伴随着一个独立运行的线程的linux进程。在默认情况下,同一应用的不同部件运行在相同的进程和线程(叫主线程)。如果一个应用部件开启并且对于该应用已经有一个运行的进程(因为其他部件来自于运行的应用),该部件在已有的进程中开启,并且用相同的线程运行。但是你可以让应用中不同的部件运行在不同的进程中,你可以为每一个进程创建新的线程。

进程
在默认情况下,同一应用的所有部件运行在相同的进程中,大部分应用不能够改变。然而,如果你需要控制某一个部件属于哪个进程,你需要在manifest文件中做如下操作:manifest 为每一个部件(activity service receiver provider) 提供一个android:process 属性该属性能够让该部件指定一个进程去运行。你能够设置这个属性以至于让每个部件运行在自己的进程中,或者一些部件运行在一个进程,其他的运行在不同的进程中。你也能够设置该属性以便让不同的应用部件运行在同一个进程中——提供给这个应用共享的相同的linux ID 和相同证书的签名。
<application> 元素也支持一个 android:process 属性, 来设置一个缺省的值应用在所有的部件中。

Android 可能关闭一个进程在内存资源不足并且有其他立即响应的进程申请。运行在这个被杀死的进程中的应用部件因此毁坏。当这些部件还仍然需要去执行,一个进程为此启动。

当系统选择哪个进程被停止的时候,android 系统衡量他们对于用户相关的重要性。例如,系统更容易关闭一个不可见的activity的进程相对于一个可见activity的进程。是否关闭一个进程,依赖于在进程中部件的运行状态。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值