Android Application 对象的生命周期

ckk1988 发布于 2013/04/18 11:22
阅读 18K+
收藏 2
我现在实现了一个自定义的MyApplication类,然后实现了自己的对象,我的程序中有多个Activity并且有一个Service,我在MyApplication中关闭了所有的Activity,然后发送一个StopService()来关闭程序中的那个Service,当Service关时我发送了一个广播信息,并且在MyApplication中接收这个广播,但是每次都接收不到广播,但是我先关闭服务,再关闭所有的Activity,就可以正常接收到广播,好像是当所有的Activity都关闭之后,MyApplication的生命周期也结束了,请问Application的生命周期到底是什么情况啊?
加载中
0
李天然
李天然
动态注册的广播? 不是在 AndroidManifest.xml文件里注册的吧
0
ckk1988
ckk1988
对啊,是直接在MyApplication里面注册的广播,这有什么问题吗?关键我想知道的是是不是所有的Activity结束后,MyApplication的生命周期也结束了?
0
ckk1988
ckk1988

@Loyzi

对啊,是直接在MyApplication里面注册的广播,这有什么问题吗?关键我想知道的是是不是所有的Activity结束后,MyApplication的生命周期也结束了?

 

0
李天然
李天然

当没有优先权的控件存在时,application随时可能被终结。

需要确认如下几点:

service是不是设置成前台权限;(service优先权搞则不会被回收,并且注意,是不是在service#onDestroy方法内的,super.onDestroy()方法后调用的发广播,用哪个Context发的广播?)

建议改成在配置文件中注册广播,然后试试是否相同手顺(test case)下是否好用。

0
ckk1988
ckk1988

@Loyzi

当销毁了所有的Activity之后还存在一个Service,虽然Service没有设置成前台运行,但是也不至于这么快就被系统干掉吧,请问你的意思是说Application的生命周期是在Service结束之后才结束吧?

0
李天然
李天然
恩,单系统通常也不会立刻回收Application;分析这样的问题可能的情况较多,不如贴上代码容易找到问题所在,瞎猜很难猜中。
0
ckk1988
ckk1988

ok,谢了,代码太多了,没发贴,还是很感谢你

0
ckk1988
ckk1988

@Loyzi

ok,谢了,代码太多了,没发贴,还是很感谢你

0
bAnxIan_coder
bAnxIan_coder
我也碰到了这个问题 请问你解决了吗
返回顶部
顶部