2011-06-14 9 views
5

मैं एंड्रॉइड पर क्रियाकलापों और सेवाओं के बीच वस्तुओं को पास करना चाहता हूं। ऐसा करने का सीधा आगे तरीका है आपकी वस्तुओं को Serializabl ई या Parcelable लागू करना।एंड्रॉइड पर इरादे के अंदर भेजने के लिए ऑब्जेक्ट को क्रमबद्ध करना

  • Serializable यह अपेक्षाकृत खराब प्रदर्शन है।
  • Parcelable दूसरी तरफ मुझे क्रमशः क्रमशः इसे लागू करने और बनाए रखने की आवश्यकता है ताकि मैं हमेशा भविष्य में इसे अपडेट करना याद रख सकूं।

मैं इस कार्य के लिए जैक्सन जेसन सीरिएलाइज़र का उपयोग करने के बारे में सोच रहा था। यह serialization में निर्मित जावा से तेज़ है और मुझे serializtion कोड लिखने और बनाए रखने की आवश्यकता नहीं है।

आपको क्या लगता है?

उत्तर

2

यदि प्रदर्शन महत्वपूर्ण है, तो आपको वास्तव में पार्ससेल के साथ जाना चाहिए। जेएसओएन अपेक्षाकृत धीमी होगी क्योंकि यह पार्सेलबल से कम कुशल है जिसे इंटर-प्रोसेस कम्युनिकेशन के लिए पैकेजिंग डेटा के दौरान प्रदर्शन में सुधार के लिए विशेष रूप से एंड्रॉइड में कार्यान्वित किया गया था।

+0

यह सच है, एंड्रॉइड पुरानी शैली वाली flattening – Reno

+0

के बजाय सक्रिय ऑब्जेक्ट्स (बाइंडर या फ़ाइल डिस्क्रिप्टर) का उपयोग करता है। पार्ससेल योग्य बाहरी से तुलना कैसे किया जा सकता है? गति, मेमोरी? – AlexV

+0

क्या किसी को पता है कि स्थिति बचाने में जटिल वस्तुओं को बचाने के लिए पार्सलबल बनाम JSON का उपयोग करने में क्या सापेक्ष सापेक्ष अंतर होगा? –

2

alexV

मेरा मानना ​​है दोनों तरीकों का अपना महत्व है।

  • पार्ससेल योग्य एक अच्छा विकल्प है। लेकिन पार्सेलिएबल का उपयोग करके आपको खुद को सहसंबंध के लिए कोड लिखना होगा। जब आप बड़ी संख्या में होते हैं तो इस विधि को प्रोत्साहित नहीं किया जाता है। आपकी कक्षा में डेटा सदस्यों की, जिनकी वस्तु आप भेजना चाहते हैं।
  • दूसरी तरफ serializatin निश्चित रूप से भारी ऑपरेशन के लिए है, लेकिन मुझे लगता है कि इसे लागू करना आसान है। आपको अपनी कक्षा को अपरिवर्तनीय उपकरण बनाना होगा।

लेकिन अभी भी एक और विकल्प है, जिसका आप उपयोग कर सकते हैं। आप अपनी वस्तु को स्थैतिक बना सकते हैं और इसे अन्य गतिविधि से एक्सेस कर सकते हैं। अगर वस्तु बहुत भारी नहीं है, तो यह भी अच्छी पसंद है।

धन्यवाद।

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