2015-01-20 8 views
14

मैं अपने एंड्रॉइड ऐप में दो टुकड़ों के बीच डेटा भेजने के लिए ग्रीनबोट इवेंटबस लाइब्रेरी का उपयोग करता हूं और मैं जानना चाहता हूं कि register(Object b) विधि और registerSticky(Object object) विधि के बीच अंतर क्या है?इवेंटबस, रजिस्टर और रजिस्टरस्टीकी विधि

उत्तर

42

EventBus आपको "चिपचिपा" घटनाओं को पोस्ट करने की अनुमति देता है और EventBus भविष्य की पहुंच के लिए "ईवेंटबस से चिपके" घटनाओं को समझता है।

आप पोस्ट करते हैं तो एक सामान्यevent जब कोई subscribers भेजने के पल में पंजीकृत कर रहे हैं, इस event छोड़ दिए जाएंगे।

आप इस समय है कि प्राप्त करने के लिए कोई subscribers हैं भले ही एक चिपचिपाevent पोस्ट कर सकते हैं, हालांकि, और यह त्याग नहीं किया जाएगा (जब तक वहाँ है एक और चिपचिपा event भविष्य में तैनात)। subscriberregisterSticky के साथ पंजीयक की डिलीवरी अंतिम चिपचिपा event भी ट्रिगर किया गया है।

+0

क्या मैं हर समय 'रजिस्टर 'के बजाय' resgisterSticky' का उपयोग कर सकता हूं? – karoluch

+1

हालांकि 'रजिस्टरस्टीकी' नियमित पंजीकरण की तरह कार्य करता है (और अंतिम 'चिपचिपा' घटना की डिलीवरी ट्रिगर करता है) मुझे लगता है कि जब तक आपको 'चिपचिपा घटना' –

+1

@blipinsk का उपयोग करने के लिए गंभीर मामला नहीं दिखाई देता है, तब तक इसे टालना चाहिए से बचने के? कृपया विस्तृत करें ... क्या मैं दो रजिस्टर और रजिस्टरस्टीकी/पोस्ट और पोस्टस्टीकी को मिश्रित कर सकता हूं? – powder366

संबंधित मुद्दे