1. 程式人生 > >android事件匯流排EventBus3.0使用方法詳解

android事件匯流排EventBus3.0使用方法詳解

2.EventBus的四種ThreadMode(執行緒模型)

EventBus3.0有以下四種ThreadMode:

POSTING(預設):如果使用事件處理函式指定了執行緒模型為POSTING,那麼該事件在哪個執行緒釋出出來的,事件處理函式就會在這個執行緒中執行,也就是說釋出事件和接收事件在同一個執行緒。線上程模型為POSTING的事件處理函式中儘量避免執行耗時操作,因為它會阻塞事件的傳遞,甚至有可能會引起ANR。
MAIN:事件的處理會在UI執行緒中執行。事件處理時間不能太長,長了會ANR的。
BACKGROUND:如果事件是在UI執行緒中釋出出來的,那麼該事件處理函式就會在新的執行緒中執行,如果事件本來就是子執行緒中釋出出來的,那麼該事件處理函式直接在釋出事件的執行緒中執行。在此事件處理函式中禁止進行UI更新操作。
ASYNC:無論事件在哪個執行緒釋出,該事件處理函式都會在新建的子執行緒中執行,同樣,此事件處理函式中禁止進行UI更新操作。


相關推薦

android事件匯流排EventBus3.0使用方法

2.EventBus的四種ThreadMode(執行緒模型) EventBus3.0有以下四種ThreadMode: POSTING(預設):如果使用事件處理函式指定了執行緒模型為POSTING,那麼該事件在哪個執行緒釋出出來的,事件處理函式就會在這個執行緒中執行,也就是說釋出事件和接收事件在同一個執行緒。

android事件匯流排EventBus3.0簡單使用

一.EventBus概述 1.EventBus的三要素 EventBus有三個主要的元素需要我們先了解一下: Event:事件,可以是任意型別的物件。 Subscriber:事件訂閱者,在EventBus3.0之前訊息處理的方法只能限定於onEvent、o

Android建立自定義dialog方法-樣式去掉陰影效果

在自定義元件時,從已有元件原始碼中會很大收穫。 就拿progressDialog來說      間接父類是dialog,想了解dialog繼承結構可以去百度,或者    從構造器來說ProgressDialog(Context context, int theme)

Android事件匯流排(一)EventBus3.0用法全解析

前言 EventBus是一款針對Android優化的釋出/訂閱事件匯流排。簡化了應用程式內各元件間、元件與後臺執行緒間的通訊。優點是開銷小,程式碼更優雅,以及將傳送者和接收者解耦。如果Activity和Activity進行互動還好說,如果Fragmen

jquery的2.0.3版本源碼系列(3):285-348行,extend方法

ffffff 相同 語法 mic 處理 說明 json對象 關註 深拷貝 目錄 1 . jquery extend的基本使用 通過285行的源碼 jQuery.extend = jQuery.fn.extend = function() { ,extend方法要麽是直接掛

Android EventBus3.x 使用(一)

led AC target 分解 感覺 div activit .org android事 ?(^∇^*) 五一假期在家無事,新項目中用的是RxJava2+EventBus感覺還不錯,趁這閑暇總結下EventBus 一、概要簡述   EventBus

javascript監聽頁面重新整理和頁面關閉事件方法

在我們的日常生活中,時常遇到這麼一種情況,當我們在點選一個連結、關閉頁面、表單提交時等情況,會提示我們是否確認該操作等資訊。 這裡就給大家講講javascript的onbeforeunload()和onunload()兩個事件。 相同點: 兩者都是在對頁面的關閉或重新整理事件作個操作。

android平臺下OpenGL ES 3.0例項頂點屬性、頂點陣列

OpenGL ES 3.0學習實踐 android平臺下OpenGL ES 3.0從零開始 android平臺下OpenGL ES 3.0繪製純色背景 android平臺下OpenGL ES 3.0繪製圓點、直線和三角形 android平臺下OpenGL E

android平臺下OpenGL ES 3.0例項頂點緩衝區物件(VBO)和頂點陣列物件(VAO)

OpenGL ES 3.0學習實踐 android平臺下OpenGL ES 3.0從零開始 android平臺下OpenGL ES 3.0繪製純色背景 android平臺下OpenGL ES 3.0繪製圓點、直線和三角形 android平臺下OpenGL E

Android measure方法

1. MeasureSpec類 MeasureSpec用來計運算元檢視的大小,有三種類型,UNSPECIFIED、EXACTLY和AT_MOST。 UNSPECIFIED表示未定義,即父控制元件未做限制,可以為任何值,一般設定為0。 EXACTLY表示實際值

Retrofit 2.0使用,配合OkHttp、Gson,Android最強網路請求框架

1.使用retrofit,需要下載一些jar包 2.介紹這些jar包的作用 在1.x版本的retrofit框架: 只需要Retrofit包和gson-2.4.jar包就行了,那時的Retrofit預設是使用okhttp jar包來網路請

iCheck表單美化外掛使用方法(含引數、事件等)

iCheck 特色: 1、在不同瀏覽器(包括ie6+)和裝置上都有相同的表現 — 包括 桌面和移動裝置 2、支援觸控裝置 — iOS、Android、BlackBerry、Windows Phone等系統 4、方便定製 — 用HTML 和 CSS 即可為其設定樣式 (多套面板) 5、體積小巧 — gzi

jQuery事件繫結on()、bind()與delegate() 方法

使用JS一段時間了,專案過程中發現在jQuery中繫結事件時,有人用bind(),有人用on(),有人用delegate(),還有人用live(),看程式碼的時候覺得都實現功能了也就掀過去了,只是一直沒完全弄懂之間的區別,於是今天查了下資料,自己做個總結。 之

繫結事件on()、bind()與delegate() 方法

啃了一段日子的js相關了,學的過程中發現在jQuery中繫結事件時,有人用bind(),有人用on(),有人用delegate(),還有人用live(),看程式碼

android matrix 最全方法與進階

1 概述 這裡我們會詳細講解matrix的各個方法,以及它的用法。matrix叫做矩陣,在前面講解 ColorFilter 的文章中,我們講解了ColorMatrix,他是一個4*5的矩陣。而這裡,我們講解的Matrix不是用於處理顏色的,而是處理圖形的。他是一個3*3的

深入Android MediaPlayer的使用方法

1)如何獲得MediaPlayer例項:可以使用直接new的方式:MediaPlayer mp = new MediaPlayer();也可以使用create的方式,如:MediaPlayer mp = MediaPlayer.create(this, R.raw.test)

Android Activity的UI繪製流程之setContentView方法

概述 對於Android開發人員來說,想必對setContentView方法不會陌生,每當我們建立一個Activity時,都會重寫該Activity的onCreate方法,在該方法中我們必須要呼叫setContentView方法來顯示我們指定的佈局或者View

android中View.measure方法

當Activity獲得焦點時,它將被要求繪製自己的佈局,Android framework將會處理繪製過程,Activity只需提供它的佈局的根節點。   繪製過程從佈局的根節點開始,從根節點開始測量和繪製整個layout tree。   每一個ViewGr

Android 獲取本地儲存路徑的各種方法

Android 中獲取本地儲存路徑,有四個方法, getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()。 接下來介紹下每個方法的特點以及路徑地址 getCacheDir(

android專案生成aar包和在其他專案中的使用方法

aar是一個類似於jar的檔案格式,包含了class檔案和資原始檔。是Android的專屬“jar” 將程式碼打包成aar檔案,可以在一定程度上加快AndroidStudio的速度,尤其是將Module打包成aar檔案,提升的效果很顯著。 第一步:新建一個module 建立