1. 广播接收者的两种类型:
(1)系统广播接收者,就是继承BroadcastReceiver这个类,然后还要在清单文件中注册,注册之后给他一个action。当系统发生了这个action时,就会执行我们所写的那个广播接收者的onReceive()方法里面的代码。
(2)自定义的广播接收者,也是继承BroadcastReceiver这个类,也要在清单文件中注册,但是给他的action名字是我们自己写的,我们写好的action字符串通过set给intent,然后使用sendBroadcast把这个intent发送出去。注意清单文件中的action是我们自定义的action的名字。(这个很少用)
2. 广播接收者,是可以刷新UI的,就是可以弹吐司放音乐。
3. 进程优先级(从高到低):(4和5很容易被杀,杀了不会重启)
(1)前台进程:与用户交互的activity。
(2)可见进程:onPause()的activity,可见但失去焦点。
(3)服务进程:如果是系统杀死,在内存充足的情况也会重启;如果用户手动杀死,就不会重启。3已经不容易杀了。故后台代码一般写在服务中。
(4)后台进程:例如一个不可见的activity。
(5)空进程:没有任何活动组件。
4. 服务的小知识:服务是通过error来死亡的,也就是在logcat看到的这个error是正常的。startActivity()与activity无关,bindActivity()与activity绑定。
5. bindService的作用:在一个activity(平民)中,service(领导)对象是无法拿到的,因此service里面的非静态方法无法调用,于是引出了bindService(中间人)。
原文:http://www.cnblogs.com/ouyongxin/p/5459885.html