Activity、Application以及BroadcastReceiver生命周期

96
文森特Hwang
2016.05.06 11:30* 字数 312

1,Application

当应用进程启动时,Application.onCreate会被调用,Application有个onTerminate方法,但是不同于Activity的onDestroy,在应用进程被回收时onTerminate方法不保证会被调用。注意,如果一个应用有多个进程,则每个进程都会有个独立的Application对象。

2,Activity

Activity的生命周期包含在Application生命周期中,Activity.onCreate前都会调用Application.onCreate,Activity的生命周期很多地方都有讲解,这里补充几张图,作为备忘:

3,BroadcastReceiver

BroadcastReceiver比较特殊,分为动态注册和静态注册,动态注册没有什么好说的;静态注册比较特别,这里分两种情况:

3.1,进程在的情况。receiver将会正常收到广播,调用onReceive。
3.2,进程不在的情况。在原生ROM中,进程会被拉活,Application.onCreate会被调用,然后调用onReceive,但是在绝大部分第三方ROM中,包括三星的ROM中,receiver将收不到任何广播,猜测这些ROM在分发消息时会对receiver所在的进程的存活进行判断。

Android