一个内容提供者组件(content provider)只有在被 ContentResolver 调用的情况下才会被激活。一个系统消息接收组件( broadcast receiver)只有在接收到指定的系统消息时,才会被激活。所以,我们无需刻意地去关闭上述两类组件。
marrco2005
不过,对于Activities组件来讲, 它的主要用途是用来示用户界面,所以,一个avtivity组件可能会运行相当长的一段时间。 哪怕该activity组件被转移到了后台,它仍然是处于激活状态的。类似的,一个服务组件(services)也可能会长时间地处于激活状态。 所以,android 系统提供了以下方法来关闭activity和service组件。
marrco2005
• 一个activity组件可以调用finish()方法自行了断。如果一个activity组件调用了startActivityForResult启动了一个新activity组件,那么它也可以调用finishActivity方法关闭新建的activity组件。
marrco2005
• 一个service组件可以调用stopSelf()方法结束自己,Context.stopService()方法也可以达到同样的目的。
marrco2005
当一个组件不再使用的时候,或者系统内存不足时,anroid系统会强制结束一些组件,以便有足够的内存运行新的组件。