1 उत्तर

सबसे बढ़िया उत्तर

कॉल की जा रही अंतर्निहित विधि querySkuDetailsAsync है जो कॉलबैक लेती है और नेटवर्क अनुरोध को अतुल्यकालिक रूप से निष्पादित करती है।

आप सही हैं कि withContext(Dispatchers.IO) की वहां जरूरत नहीं है, यह वास्तव में अनावश्यक ओवरहेड का परिचय देता है।

https://stackoverflow.com/a/62182736/6167844 से प्राप्त किया गया

यह एक आम गलत धारणा प्रतीत होती है, कि सिर्फ इसलिए कि IO एक सस्पेंड फ़ंक्शन द्वारा किया जा रहा है, आपको इसे Dispatchers.IO में कॉल करना होगा, जो अनावश्यक है (और महंगा हो सकता है)।

सम्मेलन द्वारा कार्यों को निलंबित करना कॉलिंग थ्रेड को अवरुद्ध नहीं करता है और आंतरिक रूप से Dispatchers.IO में ब्लॉक करता है यदि आवश्यक हो।

2
Community 20 जून 2020, 09:12