首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏ADAS性能优化

    Android leak pattern: subscriptions in views

    In Square Register Android, we rely on custom views to structure our app. Sometimes a view listens to changes from an object that lives longer than that view.

    35530编辑于 2022-05-13
  • Cockpit subscriptions on CentOS 7 - This system is not registered with an entitlement server. You ca

    You can use subscription-manager to register" Removing the cockpit-subscriptions - breaks the web interface

    1.3K10发布于 2020-12-30
  • 来自专栏全栈程序员必看

    使用AmplifyJS和JQuery编写更好更优雅的javascript事件处理代码

    subscriptions[ topic ] ) { return true; } topicSubscriptions = subscriptions[ topic ].slice() subscriptions[ topic ] ) { subscriptions[ topic ] = []; } var i = subscriptions[ topic ].length subscriptions[ topic ] ) { return; } var length = subscriptions[ topic ].length, i = 0; for ( ; i < length; i++ ) { if ( subscriptions[ topic ][ i ].callback === callback ) { if ( ! context || subscriptions[ topic ][ i ].context === context ) { subscriptions[ topic ].splice( i,

    1.1K30编辑于 2022-07-10
  • 来自专栏Android记忆

    EventBus源码解读

    (eventType, subscriptions); } else { if (subscriptions.contains(newSubscription)) { (i).subscriberMethod.priority) { subscriptions.add(i, newSubscription); break subscriptions = subscriptionsByEventType.get(eventClass); } if (subscriptions ! subscriptions.isEmpty()) { for (Subscription subscription : subscriptions) { postingState.event (subscriptions !

    53820编辑于 2022-01-21
  • 来自专栏韩曙亮的移动开发专栏

    【EventBus】EventBus 源码解析 ( 注册订阅者 | 注册订阅方法详细过程 )

    == null) { subscriptions = new CopyOnWriteArrayList<>(); // 保存键值对 subscriptionsByEventType.put(eventType, subscriptions); } else { if (subscriptions.contains (i).subscriberMethod.priority) { subscriptions.add(i, newSubscription); == null) { subscriptions = new CopyOnWriteArrayList<>(); // 保存键值对 subscriptionsByEventType.put(eventType, subscriptions); } else { if (subscriptions.contains

    75910编辑于 2023-03-29
  • 来自专栏刘晓杰

    源码阅读--EventBus

    = subscriptionsByEventType.get(eventType); if (subscriptions == null) { subscriptions = new CopyOnWriteArrayList<>(); subscriptionsByEventType.put(eventType, subscriptions);/ if (subscriptions ! ---------根据类名获取subscriptions } if (subscriptions ! subscriptions.isEmpty()) { for (Subscription subscription : subscriptions) {

    44410发布于 2019-02-21
  • 来自专栏JadePeng的技术博客

    ASP.NET MVC 开源项目Kigg解读(1)

    ) 31: { 32: _subscriptions.Add(eventSubscription); 33: ) 51: { 52: IEventSubscription subscription = _subscriptions.FirstOrDefault = null) 55: { 56: _subscriptions.Remove(subscription); 57 ) 76: { 77: for (int i = _subscriptions.Count - 1; i >= 0; i--) 78 : { 79: Action<object[]> subscriptionAction = _subscriptions[

    1.2K60发布于 2018-03-12
  • 来自专栏ClericYi's Blog

    锦囊篇|一文摸懂EventBus

    if (subscriptions ! >>> typesBySubscriber; // Map构成的类,使用时Key对应type,value对应订阅集合 // 存储的是对应的type下的subscriptions private final (eventType, subscriptions); } else { if (subscriptions.contains(newSubscription)) { // 获取事件对应的subscriptions集合 subscriptions = subscriptionsByEventType.get(eventClass ); } if (subscriptions !

    52920发布于 2020-06-23
  • 来自专栏Android工程师的修仙之旅

    自己动手写事件总线(EventBus)

    = mSubscriptionsByEventtype.get(subscriber); if (subscriptions == null) { subscriptions (eventType, subscriptions); } ... } ``` 执行过这些逻辑后,该对象所有的观察者方法都会被存在一个Map中,其Key是`EventType`,即观察事件的类型 = mSubscriptionsByEventtype.get(eventType); if (subscriptions == null) { = iterator.next(); if (subscriptions ! == null || subscriptions.size() == 0) { iterator.remove(); } }

    1.2K20发布于 2018-12-23
  • 来自专栏Android 进阶

    EventBus 源码解析

    = subscriptionsByEventType.get(eventType);     if (subscriptions == null) {         subscriptions = > subscriptions.get(i).subscriberMethod.priority) {             subscriptions.add(i, newSubscription ) {         subscriptions = subscriptionsByEventType.get(eventClass);     }     if (subscriptions ! subscriptions.isEmpty()) {         for (Subscription subscription : subscriptions) {             postingState.event = subscriptionsByEventType.get(eventType); //遍历集合并取消订阅     if (subscriptions !

    62920发布于 2019-12-26
  • 来自专栏草根专栏

    RxJS -- Subscription

    console.log(subscription); 运行结果是这样的: Subscriber { closed: false, _parent: null, _parents: null, _subscriptions [ AsyncAction { closed: false, _parent: [Circular], _parents: null, _subscriptions destination: SafeSubscriber { closed: false, _parent: null, _parents: null, _subscriptions 在ubsubscribe之后, _subscriptions属性也变成空了, 之前它是一个数组, 说明subscription可以是多个subscriptions的组合. 操作多个Subscriptions 多个subscriptions可以一起操作, 一个subscription可以同时unsubscribe多个subscriptions, 使用add方法为subscription

    1.2K50发布于 2018-03-29
  • 来自专栏韩曙亮的移动开发专栏

    【EventBus】事件通信框架 ( 发送事件 | 根据事件类型获取订阅者 | 调用订阅方法 )

    = null && subscriptions.size() > 0) { // 遍历订阅者并调用订阅方法 for (MySubscription subscription : subscriptions) { postSingleSubscription(subscription, event); } = subscriptionsByEventType.get(eventType); // 确保订阅者大于等于 1 个 if (subscriptions = null && subscriptions.size() > 0) { // 遍历订阅者并调用订阅方法 for (MySubscription subscription : subscriptions) { postSingleSubscription(subscription, event); }

    93910编辑于 2023-03-29
  • 来自专栏android技术

    Android--源码分析EventBus及手写实现

    = subscriptionsByEventType.get(eventType); if (subscriptions == null) { subscriptions eventClass); } if (subscriptions ! subscriptions.isEmpty()) { for (Subscription subscription : subscriptions) { subscriptions); } //包装成Subscription存入 subscriptions.add(new Subscription subscriptions.isEmpty()) { for (Subscription subscription : subscriptions) {

    48620编辑于 2021-12-06
  • 来自专栏韩曙亮的移动开发专栏

    【EventBus】EventBus 源码解析 ( 事件发送 | postToSubscription 方法 | EventBus 线程模式处理细节 )

    Subscription> 集合 // 每个集合元素都是 Subscription 对象 // 其中封装了 一个订阅者类 和 一个订阅方法 subscriptions > eventClass) { CopyOnWriteArrayList<Subscription> subscriptions; synchronized (this) Subscription> 集合 // 每个集合元素都是 Subscription 对象 // 其中封装了 一个订阅者类 和 一个订阅方法 subscriptions subscriptions.isEmpty()) { // 遍历上述 CopyOnWriteArrayList<Subscription> 集合 for (Subscription subscription : subscriptions) { // 将当前的事件保存在 ThreadLocal 辅助类中 postingState.event

    36520编辑于 2023-03-29
  • 来自专栏全栈程序员必看

    多国语言在线客服系统源码+软件下载二合一集成

    /schema.graphql or place .graphql files in a directory at /[YOUR_DIRECTORY]/sample-amplify-subscriptions /schema.graphql or place .graphql files in a directory at /[YOUR_DIRECTORY]/sample-amplify-subscriptions This will overwrite your current graphql queries, mutations and subscriptions Yes ⠴ Updating resources All subscriptions are received. All subscriptions are received.

    1.7K20编辑于 2022-09-09
  • 来自专栏工作笔记精华

    KafkaConsumer分析 转

    fetcher: 负责从服务器端获取消息的组件,并且更新partition的offset ConsumerNetworkClient client:  负责和服务器端通信 SubscriptionState subscriptions metadata.setTopics(subscriptions.groupSubscription());         }     } finally {         // 释放锁          log.debug("Seeking to beginning of partition {}", tp);             subscriptions.needOffsetReset(tp, subscriptions.hasAllFetchPositions())         // 更新fetch position         updateFetchPositions(this.subscriptions.missingFetchPositions this.subscriptions.isAssigned(partition))             throw new IllegalArgumentException("You can only

    77920发布于 2019-03-15
  • 来自专栏韩曙亮的移动开发专栏

    【EventBus】事件通信框架 ( 取消注册 | 获取事件参数类型 | 根据事件类型获取订阅者 | 移除相关订阅者 )

    // MySubscription 中封装了订阅者对象 + 订阅方法 CopyOnWriteArrayList<MySubscription> subscriptions // MySubscription 中封装了订阅者对象 + 订阅方法 CopyOnWriteArrayList<MySubscription> subscriptions == null) { // 创建集合 subscriptions = new CopyOnWriteArrayList<>(); // 将集合设置到 subscriptionsByEventType 键值对集合中 subscriptionsByEventType.put(eventType, subscriptions : subscriptions) { postSingleSubscription(subscription, event); }

    1.3K10编辑于 2023-03-29
  • 来自专栏韩曙亮的移动开发专栏

    【EventBus】EventBus 源码解析 ( 取消订阅 )

    > eventType) { // 通过参数类型获取 Subscription 列表 List<Subscription> subscriptions = subscriptionsByEventType.get (eventType); if (subscriptions ! = null) { int size = subscriptions.size(); for (int i = 0; i < size; i++) { Subscription subscription = subscriptions.get(i); // 检查 Subscription 列表中 订阅者对像 是否是 取消注册的对象 subscription.subscriber == subscriber) { subscription.active = false; subscriptions.remove

    79110编辑于 2023-03-29
  • 来自专栏零域Blog

    FlowRouter 中文文档

    也显示了如何管理 subscriptions 和在视图实现 auth logic. ('myPost', Meteor.subscribe('blogPost', params.postId)); } }); 我们也可以像这样全局注册 subscriptions : FlowRouter.subscriptions 然后你可以注册你的 subscriptions, 完成之后你可以检查 subscriptions 的状态: Tracker.autorun(function() { console.log("Is Subscriptions 对于 FlowRouter, 我们强烈建议你使用 template/component layer subscriptions. 即使有, FlowRouter 永远不要等待 subscriptions 和 view layer 来做.

    9.1K40编辑于 2022-03-22
  • 来自专栏韩曙亮的移动开发专栏

    【EventBus】事件通信框架 ( 订阅方法注册 | 注册 事件类型 - 订阅类 + 订阅方法 到指定集合 | 取消注册 数据准备 )

    == null) { // 创建集合 subscriptions = new CopyOnWriteArrayList<>(); // 将集合设置到 subscriptionsByEventType 键值对集合中 subscriptionsByEventType.put(eventType, subscriptions == null) { // 创建集合 subscriptions = new CopyOnWriteArrayList<>(); // 将集合设置到 subscriptionsByEventType 键值对集合中 subscriptionsByEventType.put(eventType, subscriptions == null) { // 创建集合 subscriptions = new CopyOnWriteArrayList<>();

    1.3K10编辑于 2023-03-29
领券