请教handler,intent,Bundle,BroadcastReceiver传递消息的区别可不可以这样理解handler是同一activity中传
请教handler,intent,Bundle,BroadcastReceiver传递消息的区别
可不可以这样理解
handler是同一activity中传递消息的
intent是上下有联系的activity中传递消息
BroadcastReceiver是一对多个activity传递消息
Bundle是在本地保存消息的
另外
handler的传递是不是在activity onStop后就中断了?BroadcastReceiver是不是只要activity没onDestory就都能收到?
[解决办法]
你总结的挺好的
我也是新手
Bundle是在本地保存消息的 这话什么意思 什么是本地保存
[解决办法]
我觉得,handler主要是用于操作简单的一步处理的,如更新UI ,Intent是用于传递消息,但不限于activity,service和BroadcastReceiver也可以,BroadcastReceivier,顾名思义,就是用于广播的,经消息传递给能接受的activity和service,主要依靠action来区分,至于Bundle我认为这是将数据进行键值对存储,方便传递,和本地保存消息没关系,本地保存数据有三种方式,1 是sqlite 2 是sharedPerference 3是存储成文件
[解决办法]
如果你的BroadcastReceiver是在androidmanifest中静态注册的,那使用有相应的Intent发出,无论包含该BroadcastReceiver的程序是否启动,该BroadcastReceiver都会响应Intent
如果你的BroadcastReceiver是在代码中动态注册的context.registerReceiver() 只用在程序的生命周期内会响应Intent
handler一般使用来提供非主线程进行UI操作,和一些耗时操作的
