मैं ऑन पॉज़ और ऑनस्टॉप के बीच के अंतर को समझने की कोशिश कर रहा हूं।एंड्रॉइड: परिदृश्य जहां पर रोक दिया जाता है लेकिन स्टॉप पर नहीं?
मैंने सभी अलग-अलग मंच पढ़े हैं लेकिन मैं अभी भी अंतर के बारे में स्पष्ट नहीं हूं। मैंने कोशिश की है कि किस विधि को बुलाया जाता है, कोशिश करने और परीक्षण करने के लिए मैंने एक सरल ऐप बनाया है। इसके लिए मैंने बस प्रत्येक विधि में लॉगर्स रखे हैं।
मेरी परीक्षणों से -
- पॉपअप कॉल नहीं करते किसी भी विधि
- किसी अन्य गतिविधि में स्विच करना दोनों तरीकों
- नोटिफिकेशन बार को नीचे खींच कॉल न विधि
मैंने कॉल केवल दोनों तरीकों को त्वरित उत्तराधिकार में बुलाया जा रहा है या न ही सभी को बुलाया जा रहा है। मैं परिदृश्य ढूंढने की कोशिश कर रहा हूं जहां पर कॉल किया जाता है लेकिन ऑनस्टॉप नहीं करता है।
उद्देश्य यह समझना है कि क्या रोकना आवश्यक है या नहीं। यदि परिदृश्य जिनमें केवल ऑन पॉज़ कहा जाता है, तो बहुत दुर्लभ हैं, तो यह भी कारण के लिए अलग कोड लिखने के लिए समझ में नहीं आता है। स्टॉप पर लिखना नहीं चाहिए पर्याप्त होना चाहिए?
public class LifecycleActivity extends ActionBarActivity {
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("Rachit", "In Destroy Method");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lifecycle);
Log.d("Rachit", "In Create Method");
}
@Override
protected void onStart() {
super.onStart();
Log.d("Rachit", "In Start Method");
}
@Override
protected void onResume() {
super.onResume();
Log.d("Rachit", "In Resume Method");
}
@Override
protected void onPause() {
super.onPause();
Log.d("Rachit", "In Pause Method");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("Rachit", "In Restart Method");
}
@Override
protected void onStop() {
super.onStop();
Log.d("Rachit", "In Stop Method");
}
}
हाँ, पर मैं अभी तक एक उदाहरण जहां onPause कहा जाता हो जाता है लेकिन onStop नहीं है खोजने के लिए है। अगर उन्हें हमेशा एक साथ बुलाया जाता है, तो क्या यह सिर्फ एक विधि रखने और डेटा बचाने या उसमें संसाधनों को रिलीज करने के लिए अधिक समझ में नहीं आता है? – Rachit
ऑनस्टॉप विधि केवल तब कॉल की जाती है जब गतिविधि पूरी तरह से दिखाई नहीं दे रही है, जबकि जब भी गतिविधि अभी भी दिखाई दे रही है लेकिन पृष्ठभूमि में बना हुआ है तो ऑनपॉज़ विधि को कॉल किया जाता है। उदाहरण के लिए, जब आप एक संवाद दिखाते हैं। गतिविधि संवाद के पीछे चल रहा है, लेकिन यदि आप एक नई गतिविधि खोलते हैं, तो रोकें और ऑनटॉप @Rachit –
की विधि से गुजरती है यह समस्या है। एक संवाद पर कॉल नहीं करता है। मैंने संवाद बॉक्स प्राप्त करने का प्रयास किया है, लेकिन फिर भी ऑनऑज़ को कॉल नहीं किया जाता है। – Rachit