मेरे पास एक पृष्ठभूमि सेवा है जो दिन में एक बार लेनदेन के भीतर कुछ भारी भारोत्तोलन करती है। यदि उपयोगकर्ता इस समय ऐप शुरू करने के लिए होता है, तो मैं चाहता हूं कि वह इसे समाप्त होने तक तंग बैठे (लगभग 10 सेकंड या उससे भी अधिक)। सभी गतिविधियों में ऐसा करने का सबसे अच्छा तरीका क्या है? जांचें कि सेवा प्रत्येक गतिविधि के "ऑनस्यूम" फ़ंक्शन में चल रही है या नहीं? और यह कब होता है जब यह किया जाता है? स्थानीय प्रसारण मैं अनुमान लगा रहा हूं ...डाटाबेस कुछ भारी पृष्ठभूमि काम करते समय फ्रीज और एप्लिकेशन का सबसे अच्छा तरीका है?
कोई भी सर्वोत्तम अभ्यास करता है?
अद्यतन: मेरी सेवा पूरी होने तक मैंने "ऑनस्यूम" को रोकने में कामयाब रहा है। समस्या यह है कि उपयोगकर्ता तब तक एक खाली स्क्रीन देखता है। जब मैंने रेज़्यूम को रोका है, तो मैंने प्रगतिशीलता और नियमित संवाद की कोशिश की है। लेकिन वे सभी केवल तभी प्रदर्शित होते हैं जब रिज्यूमे रिटर्न मिलता है और यह उद्देश्य को हरा देता है। दूसरे शब्दों में, प्रगति संवाद नहीं "शो" के तुरंत बाद "शो()" कहा जाता है :(
हाँ, मैंने सेवा में व्यस्त होने पर उपयोगकर्ता को ऐप शुरू करने पर बस स्क्रीन से बाहर निकलने का निर्णय लिया है! दुर्भाग्यवश, जब मैंने फिनिश(): | कहा है तो एक "टोस्ट" संदेश काम नहीं कर रहा है –