Android देव गाइड के एप्लिकेशन बुनियादी बातों पृष्ठ से:
डिफ़ॉल्ट रूप से, किसी एप्लिकेशन की सभी गतिविधियों में एक-दूसरे के लिए एक आत्मीयता होती है - अर्थात, उन सभी के लिए एक ही कार्य के लिए प्राथमिकता होती है।
एक "सिंगलइंस्टेंस" गतिविधि अपने कार्य में एकमात्र गतिविधि के रूप में अकेले खड़ी होती है। यदि यह एक और गतिविधि शुरू करता है, तो उस गतिविधि को उसके लॉन्च मोड की परवाह किए बिना एक अलग कार्य में लॉन्च किया जाएगा - जैसे कि FLAG_ACTIVITY_NEW_TASK इरादे में था। अन्य सभी मामलों में, "सिंगलइनस्टांस" मोड "सिंगलटैस्क" के समान है।
जैसा कि ऊपर उल्लेख किया गया है, "सिंगलटैस्क" या "सिंगलइंस्टेंस" गतिविधि के एक से अधिक उदाहरण कभी नहीं होते हैं, इसलिए उस उदाहरण से सभी नए इरादों को संभालने की उम्मीद की जाती है। एक "सिंगलइंस्टेंस" गतिविधि हमेशा स्टैक के शीर्ष पर होती है (चूंकि यह कार्य में एकमात्र गतिविधि है), इसलिए यह हमेशा इरादे को संभालने की स्थिति में होता है। हालांकि, एक "सिंगलटैस्क" गतिविधि स्टैक में इसके ऊपर अन्य गतिविधियां हो सकती है या नहीं हो सकती है। यदि ऐसा होता है, तो यह इरादे को संभालने की स्थिति में नहीं है, और इरादे को गिरा दिया जाता है। (भले ही इरादे को गिरा दिया गया हो, लेकिन इसके आने से कार्य अग्रभूमि में आ जाएगा, जहाँ यह बना रहेगा)।
चूंकि लॉन्च मोड के साथ गतिविधि का एक से अधिक उदाहरण कभी नहीं होता है, बैक बटन हमेशा आपके मामले में गतिविधि के मौजूदा उदाहरण पर ले जाएगा।
एक महत्वपूर्ण अंतर यह है कि "सिंगलटैस्क" को कुछ चुने जाने पर शुरू की जाने वाली नई गतिविधियों के लिए एक नए कार्य के निर्माण की आवश्यकता नहीं होती है। न ही उसे हर बार बैक बटन पर उस नए कार्य को निकालना होगा।
चूंकि आपकी गतिविधि स्टैक सभी एक उपयोगकर्ता "कार्य" से संबंधित है, और यह ऐसा नहीं लगता है कि आपके पास एक जटिल आशय संरचना है जहां सिंगलइंस्टेंस हमेशा उन्हें संभालने के लिए फायदेमंद हो सकता है, मैं सिंगलटैस्क लॉन्च मोड का उपयोग करने का सुझाव दूंगा।
यहाँ अधिक जानकारी के लिए एक अच्छा ब्लॉग पोस्ट है, साथ ही छवि के लिए भी श्रेय दिया गया है: Android क्रियाएँ और कार्य श्रृंखला - Android के UI घटक मॉडल के लिए एक परिचय