2013-03-25 6 views
16

मुझे एंड्रॉइड ऐप और बाहरी सर्वर के बीच एक खुला, दो-तरफा संचार चैनल बनाए रखने की आवश्यकता है। मुझे पता है कि मैं इसके लिए जीसीएम का उपयोग कर सकता हूं, लेकिन विभिन्न कारणों से जो एंड्रॉइड से संबंधित नहीं हैं, स्वयं ही, यदि संभव हो तो मैं websockets का उपयोग करना चाहूंगा।एंड्रॉइड के तहत जीसीएम बनाम वेबसाइकिल: बैटरी उपयोग?

किसी को भी मुझे संसाधन/बैटरी उपयोग के आँकड़े की तुलना करने के लिए जब बनाम एंड्रॉयड के तहत एक जावा आधारित WebSockets ग्राहक GCM का उपयोग कर बात कर सकते हैं?

अग्रिम धन्यवाद।

+0

आप शायद सही एक के रूप में नीचे इस सवाल का जवाब का चयन करना चाहिए। – npgall

+0

@ हिप्पोपोटामसमैन मेरे पास वही अनुरोध है, इसी कारण से। क्या आप इसे फिर से कूद सकते हैं? क्या आप अभी भी कस्टम वेबसाकेट का उपयोग कर रहे हैं या आप एफसीएम/जीसीएम का उपयोग करते हैं? हम अपने एपीपी का परीक्षण कर रहे हैं और यह बहुत सारी बैटरी का उपयोग कर रहा है। सुनिश्चित नहीं है कि यह वेबसाकेट के लिए है लेकिन हम ऐसा सोचते हैं। –

उत्तर

25

के बाद से कई आवेदन GCM जो Google क्लाउड से एक भी सॉकेट कनेक्शन का उपयोग करता है, क्योंकि यह सिर्फ एक मौजूदा कनेक्शन का उपयोग करता सूचनाओं के लिए आपके आवेदन उपयोग GCM पर सभी बैटरी जीवन प्रभावित नहीं होना चाहिए बनाने का उपयोग करें। दूसरी तरफ, वेबसाइकिलों का उपयोग करके आप जो भी प्रक्रिया बनाते हैं, वह बैटरी उपयोग केवल जीसीएम के शीर्ष पर जोड़ा जाएगा।

इसके अलावा, यह एक अग्रभूमि सेवा के रूप में अपने आवेदन बनाने के लिए जरूरी होगा कि अगर आप अपने कनेक्शन को बनाए रखने के लिए भी जब एप्लिकेशन को अग्रभूमि में नहीं है की जरूरत है। जीसीएम आपके लिए इसे संभालता है।

अद्यतन
जो उपकरण का उपयोग कर GCM जीमेल उपयोग GCM जैसे कई आवश्यक अनुप्रयोगों के बाद से एक बहुत ही दुर्लभ मामला है कोई अन्य अनुप्रयोग हैं। मेरे पास जीसीएम के बैटरी उपयोग की सटीक संख्या नहीं है। लेकिन (जो अंतर्निहित समान संचार मॉडल का उपयोग करता GCM के पूर्ववर्ती) C2DM की बैटरी उपयोग में this video 4 के आसपास मिनट में उल्लेख किया है। मैं वास्तव में किसी बाहरी सर्वर (Android persistent socket connection rules) के लिए एक लगातार सॉकेट कनेक्शन की बैटरी उपयोग के बारे में इसी तरह के सवाल था। हालांकि यह एक वेबसाईट नहीं है, लेकिन मैं बैटरी उपयोग को समान बना देता हूं। लेकिन फिर से जब से जीसीएम ओएस के बहुत कम स्तर पर बनाया गया है, तो मैं इसे कस्टम समाधान से अधिक अनुकूलित करने के लिए छवि दूंगा।

जब तक आप एक तीसरे पक्ष के सर्वर या कुछ बहुत ही विशेष विनिर्देशों का उपयोग कर के खिलाफ कुछ कंपनी की नीति है, मैं GCM का उपयोग कर की सिफारिश करेंगे। मैं पूरे वीडियो को सी 2 डीएम के साथ-साथ this video for GCM के बारे में भी प्रोत्साहित करता हूं।

+0

धन्यवाद, एलेक्स। तो निम्नलिखित सरल मामले के बारे में क्या: एक और केवल एक एंड्रॉइड प्रक्रिया को बाहरी सर्वर के साथ दो-तरफा संचार की आवश्यकता है? जीसीएम और websockets इस अपमानजनक मामले में एंड्रॉइड संसाधन उपयोग (बैटरी, आदि) के संबंध में समान रूप से कुशल हैं, या एक दूसरे से बेहतर होगा। – HippopotamusMan

+0

उत्तर में एक अद्यतन जोड़ा गया। टिप्पणियां अनुभाग में इसे फिट नहीं कर सका। – Alex

+0

धन्यवाद। मैं बाद में वीडियो की जांच करूंगा, और आपकी जानकारी काफी उपयोगी है। ऐसा लगता है कि मैं शायद जीसीएम का उपयोग करूंगा। – HippopotamusMan

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