2015-02-18 7 views
5

क्या आप कृपया स्क्वायर के रेट्रोफिट प्रतिक्रिया पार्सिंग तर्क की व्याख्या कर सकते हैं। मुझे इस मामले में दिलचस्पी है जब हमें & एक बड़ा जेसन (> 100 केबी) पार्स प्राप्त करना चाहिए - सभी सामग्री को सर्वर से प्राप्त किया जाएगा और केवल इसे पार्स करने के बाद ही रेट्रोफिट प्रतीक्षा करेगा, या स्ट्रीम डेटा प्राप्त करते समय इसे तुरंत पार्स करना शुरू कर देगा ? मेरा लक्ष्य प्रतिक्रिया प्रक्रिया को तेज करना है।स्क्वायर की रेट्रोफिट प्रतिक्रिया पार्सिंग तर्क: स्ट्रीमिंग?

क्या इसके बारे में कोई विकल्प कॉन्फ़िगर करने के लिए उपलब्ध है?

उत्तर

12

जैसे ही HTTP क्लाइंट शीर्षलेखों को पार करता है, InputStream को रेट्रोफिट पर वापस सौंप दिया जाएगा जो इसे सीधे Converter पर सौंप देगा। इसका मतलब यह है कि अंतर्निहित कनवर्टर तंत्र (कहें, जीसन) बाइट खींच रहा है क्योंकि उन्हें सीधे नेटवर्क से पढ़ा जा रहा है (और संभावित रूप से अवरुद्ध)।

नोट: लॉगिंग बंद होने पर यह केवल सच है (क्योंकि यह उत्पादन/रिलीज बिल्ड में होना चाहिए)। जब हेडर्स स्तर से अधिक लॉगिंग चालू होती है, तो कनवर्टर को डेटा लॉग और हाथ करने के लिए प्रतिक्रिया निकाय को पूरी तरह से byte[] में पढ़ना पड़ता है।

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