博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
观察者模式
阅读量:5139 次
发布时间:2019-06-13

本文共 745 字,大约阅读时间需要 2 分钟。

 

观察者模式

类似于回调函数。

首先在Android中,我们往ListView添加数据后,都会调用Adapter的notifyDataChanged()方法,其中使用了观察者模式。

当ListView的数据发生变化时,调用Adapter的notifyDataSetChanged函数,这个函数又会调用DataSetObservable的notifyChanged函数,这个函数会调用所有观察者(AdapterDataSetObserver)的onChanged方法,在onChanged函数中又会调用ListView重新布局的函数使得ListView刷新界面。

Android中应用程序发送广播的过程:

  • 通过sendBroadcast把一个广播通过Binder发送给ActivityManagerService,ActivityManagerService根据这个广播的Action类型找到相应的广播接收器,然后把这个广播放进自己的消息队列中,就完成第一阶段对这个广播的异步分发。
  • ActivityManagerService在消息循环中处理这个广播,并通过Binder机制把这个广播分发给注册的ReceiverDispatcher,ReceiverDispatcher把这个广播放进MainActivity所在线程的消息队列中,就完成第二阶段对这个广播的异步分发:
  • ReceiverDispatcher的内部类Args在MainActivity所在的线程消息循环中处理这个广播,最终是将这个广播分发给所注册的BroadcastReceiver实例的onReceive函数进行处理:

转载于:https://www.cnblogs.com/sea-stream/p/10082618.html

你可能感兴趣的文章
macOS10.12允许所有来源设置
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
python搜索引擎(转)
查看>>
python基础(三)
查看>>
json详解
查看>>
iOS开发日记3-微信支付
查看>>
exec和eval内置函数
查看>>
Java变量命名规范
查看>>
爬虫大作业-爬取B站弹幕
查看>>
delta3d与ode物理引擎的结合。
查看>>
重载与重写的区别
查看>>
小甲鱼pe结构讲解
查看>>
OD使用教程9 - 调试篇09|解密系列
查看>>
外中断01 - 零基础入门学习汇编语言69
查看>>
PE格式详细讲解11 - 系统篇11|解密系列
查看>>
Qt532_自定义QWebView_01
查看>>
QtTCP_ZC
查看>>
iphone应用程序生命周期浅析
查看>>
Git 中 SSH key 生成步骤
查看>>