EventBus源码阅读(3)-Subscribe

来源:互联网 发布:动易cms后台登录密码 编辑:程序博客网 时间:2024/05/01 06:40

这个是注释定义。

就是我们在应用中注册事件的时候,使用的注释的定义。


源码:

/* * Copyright (C) 2012-2016 Markus Junginger, greenrobot (http://greenrobot.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.greenrobot.eventbus;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface Subscribe {    ThreadMode threadMode() default ThreadMode.POSTING;    /**     * If true, delivers the most recent sticky event (posted with     * {@link EventBus#postSticky(Object)}) to this subscriber (if event available).     */    boolean sticky() default false;    /** Subscriber priority to influence the order of event delivery.     * Within the same delivery thread ({@link ThreadMode}), higher priority subscribers will receive events before     * others with a lower priority. The default priority is 0. Note: the priority does *NOT* affect the order of     * delivery among subscribers with different {@link ThreadMode}s! */    int priority() default 0;}

可以看到。我们可以使用的注释有三个参数:

threadMode:默认值为POSTING

sticky:默认值为false

priority:默认值为0


所有参数都带有默认值,也就是说我们平时使用的时候,如果不做什么特殊要求的话,直接使用默认值即可。

此时所有的注册方法都是使用POSTING方式处理,都不是粘性的,优先级都为0。


默认值一般都能够买足我们的需求,所以我们很少配置参数。

0 0