मैं एंड्रॉइड एप्लिकेशन के विकास में शामिल हूं जो वेब सेवा के लिए "मोटी" मोबाइल क्लाइंट है। यह सर्वर के साथ भारी संचार करता है लेकिन इसमें बहुत से आंतरिक तर्क भी हैं। इसलिए, मैंने Google Guava
विकास प्रक्रिया को सरल बनाने के लिए पुस्तकालय की कुछ विशेषताओं का उपयोग करने का निर्णय लिया । यहाँ उन विशेषताओं की एक सूची दी गई है जिनमें मुझे बहुत दिलचस्पी है: अपरिवर्तनीय संग्रह, आधार बर्तन, संग्रह एक्सटेंशन, कार्यात्मक प्रोग्रामिंग चीनी और मुहावरे ( common.collect
और common.base
), आदिम उपयोगिताओं ( common.primitives
), हैशिंग उपयोगिताएँ ( common.hash
), समवर्ती बर्तन (वायदा और AsyncFunction
)। वे चीजें जो मैं एंड्रॉइड में उपयोग नहीं करना चाहता हूं : common.cache
(नीचे दिए गए प्रश्न देखें), common.eventbus
(हमारे पास इसके लिए बेहतर एंड्रॉइड विशिष्ट कार्य हैं, जैसे ओटो ), common.io
(हम okio का उपयोग कर सकते हैं ) अभी Android के लिए)।
मैंने पढ़ा कि एंड्रॉइड के लिए अमरूद का उपयोग संकलन प्रक्रिया को धीमा कर सकता है और पूरे रनटाइम प्रदर्शन को भी कम कर सकता है: एंड्रॉइड पर अमरूद कैश के साथ खराब प्रदर्शन (इस मामले में यह उचित है और एंड्रॉइड के लिए अमरूद के कैश का उपयोग करने की आवश्यकता नहीं है) और Google को जोड़ना अमरूद टू एंड्रॉइड प्रोजेक्ट - बिल्ड को काफी धीमा कर देता है
तो, क्या यह एंड्रॉइड प्रोजेक्ट में अमरूद लाइब्रेरी का उपयोग करने के लिए कुशल है या इस लाइब्रेरी को केवल सर्वर-साइड विकास के लिए उपयोग करने के लिए डिज़ाइन किया गया है , और मुझे मानक समाधानों के साथ जाना चाहिए? किसी भी स्पष्टीकरण बहुत सराहना की जाएगी।