美文网首页
iOS 通知原理

iOS 通知原理

作者: 书上说says | 来源:发表于2020-07-23 16:06 被阅读0次

1.[NSNotificationCenter defaultCenter]方式发送通知:


image.png

可以看出,使用最常用的NSNotificationCenter发送通知,这是在同一线程里发送的,并且是同步的执行方式。

2.使用通知队列NSNotificationQueue发送通知
可以看出使用NSPostWhenIdle按照异步方式执行了通知


image.png image.png

而使用NSPostNow的方式,是同步执行的


image.png

每一个线程都维护一个通知队列,开辟新的线程发送通知,如果是同步发送的通知,即为同步执行,如果是异步发送的通知:
1.使用通知中心方式,默认在当前线程创建一个通知队列,并且发送时机为NSPostNow,同步执行


image.png

2.使用通知队列方式,会发现并没有成功发送,这是因为在NSPostWhenIdle时候,线程结束的时候,通知队列已经被释放了,所以没法成功执行通知方法(使用NSPostNow时候,仍然同步执行)


image.png

3.使用NSPort方式,开启runloop 以保证线程不会在空闲时间结束掉,通知对象被释放掉,从而能执行通知方法


image.png

4.消息合并
没有进行消息合并的时候,会多次执行通知方法(NSPostWhenIdle时机,NSPostNow不存在消息合并)


image.png

消息合并后,就不会多次执行了


image.png

相关文章

  • iOS 通知原理

    1.[NSNotificationCenter defaultCenter]方式发送通知: 可以看出,使用最常用的...

  • APNS消息推送的实现(完整步骤)

    1. 原理及代码实现 iOS远程推送原理及实现过程 苹果远程推送通知 APNs 详解,官方,iOS | Swift...

  • iOS推送通知原理

    一、推送通知的基本原理: 苹果的推送服务通知是由自己专门的推送服务器APNs (Apple Push Notifi...

  • iOS中消息通知的另一种方式

    原理 iOS中消息通知是以notificationName来做为标识,发通知时,监听了同一个notificatio...

  • 整理

    KVO的实现原理与具体应用 2.通知 3.iOS多线程----NSOperation 4.iOS多线程----GC...

  • iOS通知原理解析

    一、通知的基本使用 1、基本概念 NSNotification 是iOS中一个调度消息通知的类,采用单例模式设计,...

  • iOS 通知原理解析

    通知的概念 一些基本的概念就不做介绍了,应该都明白,好了,直接上代码为了方便查看,发送通知和接受通知就放在同一个文...

  • iOS 通知中心原理 notificationcenter

    https://blog.csdn.net/shengpeng3344/article/details/10574...

  • iOS远程推送原理及实现过程

    转载 推送通知,是现在的应用必不可少的功能。那么在 iOS 中,我们是如何实现远程推送的呢?iOS 的远程推送原理...

  • iOS远程推送原理及详细实现过程(前端后台)

    导语 推送通知,是现在的应用必不可少的功能。那么在 iOS 中,我们是如何实现远程推送的呢?iOS 的远程推送原理...

网友评论

      本文标题:iOS 通知原理

      本文链接:https://www.haomeiwen.com/subject/tqchlktx.html