静态/动态注冊广播的差别

广播接收器注冊一共同拥有两种形式 : 静态注冊和动态注冊.

两者及其接收广播的差别:

1.动态注冊的广播永远要快于静态注冊的广播,无论静态注冊的优先级设置的多高,无论动态注冊的优先级有多低>

2.动态注冊广播不是常驻型广播,也就是说广播尾随activity的生命周期。注意: 在activity结束前,移除广播接收器。

 静态注冊是常驻型,也就是说当应用程序关闭后,假设有信息广播来,程序也会被系统调用自己主动执行。

3.在同一个优先级下,谁先启动的快,谁将先接收到广播.


动态注冊代码:

UpdateBroadcast  broadcast= new UpdateBroadcast();
IntentFilter filter = new IntentFilter("com.unit.UPDATE");
registerReceiver(broadcast, filter);

静态注冊代码(在配置文件里加入):

<receiver android:name="net.youmi.android.AdReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <data android:scheme="package" />
            </intent-filter>
 </receiver>



原文地址:https://www.cnblogs.com/bhlsheji/p/4016251.html