मेरे पास ब्रॉडकास्ट रिसीवर क्लास है। मेरे पास कुछ स्थिर चर घोषित किए गए हैं जिनके मूल्य को ऑनसीस() विधि के साथ अद्यतन किया गया है। मेरे ज्ञान के अनुसार स्थैतिक चर पर निर्भर करता है कि यह ऑन-रिलीज कॉल पर है। क्या कोई संभावना है जब मैं उन मानों को खो दूंगा (जैसे मेरी कक्षा स्थिर चर को रीसेट कर दिया जाएगा)? ये मूल रूप से कुछ अस्थायी चर हैं जिन्हें मुझे कई ऑनसाइट कॉल के लिए उपलब्ध होना आवश्यक है।ब्रॉडकास्ट रिसीवर लाइफ साइकिल - स्टेटिक वैरिएबल
7
A
उत्तर
4
BroadcastReceiver Lifecycle के लिए दस्तावेज़ से ...
एक BroadcastReceiver वस्तु onReceive करने के लिए कॉल (संदर्भ, आशय) की अवधि के लिए ही मान्य है। एक बार आपका कोड इस फ़ंक्शन से लौटने के बाद, सिस्टम ऑब्जेक्ट को समाप्त होने पर विचार करता है और अब सक्रिय नहीं होता है।
यह इस तथ्य में व्यावहारिक चर का उपयोग करने के लिए व्यावहारिक चर का उपयोग नहीं करेगा कि चीजें सिस्टम द्वारा जल्दी साफ हो जाएंगी। मैं फोन करके SharedPreferences
उपयोग करने का प्रयास करेंगे ...
context.getSharedPreferences("MyReceiver", MODE_PRIVATE)
... रिसीवर के onReceive(...)
विधि में (कुछ नाम जो आपके ऐप्लिकेशन के लिए समझ में आता है के साथ "MyReceiver"
बदलें)।
0
या आप निश्चित रूप से अपनी गतिविधि कक्षा के भीतर स्थिर वार्स घोषित कर सकते हैं।
संबंधित मुद्दे
- 1. लाइफ साइकिल उपकरण सूट
- 2. ब्रॉडकास्ट रिसीवर
- 3. ब्रॉडकास्ट रिसीवर
- 4. ब्रॉडकास्ट रिसीवर
- 5. ब्रॉडकास्ट रिसीवर
- 6. ब्रॉडकास्ट रिसीवर
- 7. ब्रॉडकास्ट रिसीवर,
- 8. ब्रॉडकास्ट रिसीवर
- 9. जावा - बेनामी इनर क्लास लाइफ साइकिल
- 10. ब्रॉडकास्ट रिसीवर एकाधिक फ़िल्टर या एकाधिक ब्रॉडकास्ट रिसीवर के साथ?
- 11. एंड्रॉइड-ब्रॉडकास्ट रिसीवर
- 12. एंड्रॉइड ब्रॉडकास्ट रिसीवर android.intent.action.BATTERY_CHANGED
- 13. ब्रॉडकास्ट रिसीवर आंतरिक वर्ग
- 14. [एंड्रॉइड] ब्रॉडकास्ट रिसीवर (एक्शन_हेडसेट_प्लग) फायरिंग
- 15. sendMultiPartTextMessage के साथ ब्रॉडकास्ट रिसीवर
- 16. सी 2 डीएम ब्रॉडकास्ट रिसीवर
- 17. अलार्ममेनगर, ब्रॉडकास्ट रिसीवर और सेवा
- 18. क्या मुझे 'अज्ञात' ब्रॉडकास्ट रिसीवर
- 19. ब्रॉडकास्ट रिसीवर ऑन रिसीव टाइमआउट
- 20. स्थान के लिए ब्रॉडकास्ट रिसीवर
- 21. ACTION_MEDIA_BUTTON के लिए ब्रॉडकास्ट रिसीवर
- 22. स्टेटिक वैरिएबल पॉइंटर?
- 23. स्टेटिक वैरिएबल बनाम अस्थिर
- 24. स्टेटिक वैरिएबल मूल्य
- 25. स्टेटिक वैरिएबल हस्तक्षेप ASP.net?
- 26. PHP स्टेटिक वैरिएबल
- 27. वॉल्यूम कुंजी के लिए एंड्रॉइड ब्रॉडकास्ट रिसीवर
- 28. एंड्रॉइड में ब्रॉडकास्ट रिसीवर को कैसे रोकें
- 29. एंड्रॉइड ब्रॉडकास्ट रिसीवर या सरल कॉलबैक विधि?
- 30. मेरा ब्रॉडकास्ट रिसीवर मेरे एन 1 बूट
लेकिन स्थैतिक चर वर्ग स्तर परिवर्तनीय हैं और वस्तु को नष्ट होने पर साफ़ नहीं किया जाना चाहिए। अगर मैं गलत हूं कृपया मुझे सही। मुझे getSharedPreferences() के बारे में पता है, लेकिन केवल स्थैतिक चर का उपयोग करना चाहता था क्योंकि कुछ बार बाद में उन कार्यों को साफ़ करने की आवश्यकता होती है जब मेरा काम उनके साथ किया जाता है और मैं नहीं चाहता कि वे अभी भी साझा किए गए संदर्भों में उपस्थित हों। आखिरकार यदि यह हो सकता है चर के माध्यम से हासिल किया गया है तो मैं SharePreferences का उपयोग नहीं करना चाहता। यदि यह तब नहीं हो सकता है तो निश्चित रूप से मैं साझा संदर्भों के लिए जाऊंगा। – Sush
@ सुश: "लेकिन स्थैतिक चर वर्ग स्तर परिवर्तनीय हैं और वस्तु को नष्ट होने पर साफ़ नहीं किया जाना चाहिए।" - तो उस वर्ग का आखिरी उदाहरण नष्ट होने पर 'वेरिएबल वेरिएबल्स' कहां मौजूद हैं? वे साइबर स्पेस में बस उस कक्षा के एक और उदाहरण के लिए इंतजार नहीं कर रहे हैं। जैसा कि दस्तावेज़ों के उद्धरण में बताया गया है, जब 'ऑन रिसीव (...)' बाहर निकलता है "सिस्टम ऑब्जेक्ट को समाप्त होने पर विचार करता है"। असल में आप गारंटी नहीं दे सकते कि 'ब्रॉडकास्ट रिसेवर' ऑब्जेक्ट जीसीडी कब होगा। 'साझा किए गए संदर्भ' के लिए, आप अब आवश्यकता होने पर उन्हें 'साफ़' कर सकते हैं। – Squonk
@MisterSquonk: मैं सहमत हूं कि साझाकरण कार्य कर सकते हैं। लेकिन मैं दृढ़ता से असहमत हूं कि कक्षा के आखिरी उदाहरण नष्ट हो जाने के बाद स्थैतिक चर नष्ट हो जाएंगे। क्लास को स्मृति में लोड होने पर स्टेटिक वैरिएबल प्रारंभ किए जाते हैं, यानी। जब एप्लिकेशन शुरू होता है और स्मृति में तब तक रहता है जब तक कि कक्षा स्मृति में न हो। यह जीवित वस्तुओं पर निर्भर नहीं है। – Sush