"फोर्स स्टॉप" बटन का क्या अर्थ है?


26

जब मैं Settings > Applications > Manage Applications > Downloadedएक आवेदन सूची को देखने जाता हूं। यदि मैं कुछ अनुप्रयोगों का चयन करता हूं तो मुझे बटन "फोर्स स्टॉप" सक्रिय दिखाई देता है, लेकिन कुछ अनुप्रयोगों में यह बटन मंद हो गया है।

इसका क्या मतलब है? यदि मैं यह बटन दबाता हूं तो क्या होगा?

इस बटन का अर्थ अनुप्रयोग चलाना नहीं हो सकता है, क्योंकि इस बटन वाले अनुप्रयोग Runningअनुभाग में सूचीबद्ध नहीं हैं ।

क्या मैं सिर्फ उन अनुप्रयोगों को सूचीबद्ध कर सकता हूं जिनके पास Force stopबटन सक्रिय है और उन्हें अनइंस्टॉल करना है?


Android संस्करण: 3.2

जवाबों:


18

जैसा कि पाको के जवाब में मेरी टिप्पणी में कहा गया है, उन्होंने जो जानकारी दी वह ज्यादातर सही है: ज्यादातर ऐप पूरी तरह से बाहर नहीं निकलते हैं यदि आप उन्हें छोड़ देते हैं, और "होम" बटन के माध्यम से छोड़ने पर कोई ऐप बाहर नहीं निकलना चाहिए। इसके अलावा, कुछ ऐप में बैकग्राउंड सर्विस चल रही होती हैं जिन्हें यूजर अन्यथा नहीं छोड़ सकता।

अब कुछ स्थितियाँ ऐसी हैं जहाँ आपको एक ऐप (इसकी पृष्ठभूमि सेवाओं सहित) को बंद करने की आवश्यकता है - जैसे यदि आप उस ऐप को अनइंस्टॉल करना चाहते हैं (या, सिस्टम ऐप, उसके अपडेट के मामले में)। जब "फोर्स स्टॉप" बटन सक्रिय होता है, तो "अनइंस्टॉल" (या "निकालें") बटन सक्रिय हो जाता है, तो आप इस पर ध्यान देंगे - लेकिन जब आप "फोर्स स्टॉप" के माध्यम से ऐप को बंद करते हैं तो बाद सक्रिय हो जाता है। (यदि दोनों बटन धूसर हो गए हैं, तो आप इसे सिस्टम ऐप बता सकते हैं, वैसे - जिसे आप अनइंस्टॉल नहीं कर सकते)।

Btw: यदि "फोर्स स्टॉप" बटन को धूसर कर दिया जाता है ("मंद" जैसा कि आप इसे डालते हैं) तो इसका मतलब है कि ऐप वर्तमान में नहीं चल रहा है, और न ही इसकी कोई सेवा चल रही है (उस समय)।


1
You will notice this when the "Force Stop" button is active, the "Uninstall" (or "Remove") button is grayed out, क्या आप एक उदाहरण ऐप दे सकते हैं जिसमें यह व्यवहार है? मैंने अपने कुछ ऐप के माध्यम से स्किम किया और पाया कि "फोर्स स्टॉप" और "अनइंस्टॉल" दोनों बटन सक्रिय हैं। मैं एंड्रॉइड 4.4.2 पर हूं।
सिकोय

1
जैसा कि मेरा जवाब पहले से ही 2 साल पुराना है, किटकैट तब उपलब्ध नहीं था; यह व्यवहार सभी ऐप्स को प्रभावित या परिवर्तित नहीं कर सकता है। मैं किटकैट के साथ परीक्षण नहीं कर सकता (कोई भी उपकरण जो उस पर नहीं चल रहा है), और आउट-ऑफ-माय-हेड को यह याद नहीं है कि मैंने कौन से पैकेजों को देखा है, इसके साथ ही क्षमा करें।
इज़ी

15

फोर्स स्टॉप बटन के पीछे का कोड जटिल और अनिर्दिष्ट है। मैं इसे शब्दशः पुन: पेश करता हूँ और फिर एक बार में एक टुकड़ा से गुजरता हूँ।

private void checkForceStop() {
    if (mDpm.packageHasActiveAdmins(mPackageInfo.packageName)) {
        // User can't force stop device admin.
        updateForceStopButton(false);
    } else if ((mAppEntry.info.flags&ApplicationInfo.FLAG_STOPPED) == 0) {
        // If the app isn't explicitly stopped, then always show the
        // force stop button.
        updateForceStopButton(true);
    } else {
        Intent intent = new Intent(Intent.ACTION_QUERY_PACKAGE_RESTART,
                Uri.fromParts("package", mAppEntry.info.packageName, null));
        intent.putExtra(Intent.EXTRA_PACKAGES, new String[] { mAppEntry.info.packageName });
        intent.putExtra(Intent.EXTRA_UID, mAppEntry.info.uid);
        intent.putExtra(Intent.EXTRA_USER_HANDLE, UserHandle.getUserId(mAppEntry.info.uid));
        getActivity().sendOrderedBroadcast(intent, null, mCheckKillProcessesReceiver, null,
                Activity.RESULT_CANCELED, null, null);
    }
}

पहली ifपंक्ति यह जांचती है कि क्या पैकेज का कोई घटक डिवाइस व्यवस्थापक है (यदि यह सेटिंग ऐप के सुरक्षा पृष्ठ में डिवाइस प्रशासक सूची में जाँच की गई है )। यदि हां, तो बटन अक्षम है (बाहर निकाल दिया गया है) ताकि आप डिवाइस के प्रवेश को रोक न सकें।

फिर, else ifजाँच करता है कि पैकेज पहले से ही बंद है या नहीं । यहाँ, रुकने का मतलब सिर्फ "भागना नहीं" है। जहाँ तक मैं बता सकता हूँ, एक पैकेज रुकी हुई अवस्था में है यदि आपने कभी भी इससे कोई घटक नहीं चलाया है (जैसे कि इसे मेनू से लॉन्च करके), या यदि आपने फ़ोर्स स्टॉप बटन दबाया है (यह एक या एक है) एक "काम करना बंद कर दिया" संवाद) और इसके किसी भी घटक को फिर से न चलाएं। यदि पैकेज बंद नहीं किया गया है, तो बटन सक्षम है

यह elseमामला उस दुर्लभ घटना को कवर करता है जिसे एक ऐप ने रोक दिया है और वह डिवाइस एडमिन नहीं है। इस मामले में, यह अन्य सिस्टम सेवाओं को बटन को सक्षम करने का मौका देता है । उदाहरण के लिए, ऐप में अलार्म सेट और लंबित हो सकता है, जो बाद में ऐप को फिर से बंद अवस्था से भी शुरू करने का कारण होगा। इस स्थिति में, बटन सक्षम हो जाएगा। यदि किसी अन्य सिस्टम सेवा में बटन को सक्षम करने का कोई कारण नहीं है, तो इसे अक्षम कर दिया जाएगा।

सारांश

बलपूर्वक बंद करें यदि पैकेज उपकरण व्यवस्थापक नहीं है बटन सक्षम किया गया है और या तो आप नहीं पहले से ही इस एप्लिकेशन से बलपूर्वक-बंद कर दिया है या आप इसे बल-बंद कर दिया लेकिन एक प्रणाली सेवा सोचता है कि यह इसे फिर से चलाने होगा।

यदि एप्लिकेशन चल रहा है (और यह डिवाइस व्यवस्थापक नहीं है), तो फोर्स स्टॉप बटन निश्चित रूप से सक्षम हो जाएगा, लेकिन सक्षम किया जा रहा बटन का मतलब यह नहीं है कि ऐप चल रहा है।


यह बहुत अच्छा है कि आप हमें वह कोड दिखाते हैं जो यह निर्धारित करता है कि बटन प्रदर्शित है या नहीं। मेरे जैसे एक डेवलपर के लिए जो एकदम सही जवाब है। लेकिन वास्तव में, यह केवल आधा उत्तर है। जब आप वास्तव में बटन दबाते हैं तो आप नहीं दिखाते हैं कि क्या होता है।
जॉन पेंकोविज़

2

एंड्रॉइड अपनी मेमोरी में 4 प्रकार के एप्लिकेशन रखता है। मुझे याद नहीं है लेकिन सभी चल रहे हैं और कैश्ड बैकग्राउंड उनमें से 2 हैं ... (कैश्ड बैकग्राउंड को हार्डवेयर मेनू बटन पर क्लिक करके एक्सेस किया जा सकता है जब रनिंग टैब में और पॉप अप विकल्प का चयन करें)

इसलिए यद्यपि यह चल रही प्रक्रियाओं में नहीं देखा जा सकता है, यह पूरी तरह से मृत नहीं है।

अधिकतर यह कैश्ड बैकग्राउंड प्रिसेस में होगा।

इसके अलावा, टास्क मैनेजर के बारे में..उनका इस्तेमाल करने की सलाह नहीं दी जाती क्योंकि एंड्रॉइड को ऐप को कुशलतापूर्वक प्रबंधित करने के लिए हार्डकोड किया गया है ।App / हत्यारे वास्तव में बैटरी को सूखा देते हैं, क्योंकि किलर ऐप्स को मारने के बाद, एल्गोरिथम एंड्रॉइड के लिए रिकॉर्डिंग का पालन करता है, उन्हें शुरू किया जाएगा। फिर से! (और ऐप्स आदर्श स्थिति की तुलना में स्टार्टअप में अधिक मेमोरी लेते हैं) इस प्रकार यह एक चक्र बन जाता है और बैटरी को सूखा देता है।

इसलिए फोर्स क्लोज बटन ज्यादातर रनिंग और कैश्ड प्रक्रियाओं पर सक्रिय है और अन्य दो प्रकार की प्रक्रियाओं में रहने वाले बहुत कम ऐप्स पर मौजूद हो सकता है!

अन्य क्षुधा पर इसकी बाहर greyd!


1
यह 4 से अधिक प्रकार के होते हैं ( एक निकट विवरण के लिए एंड्रॉइड एप्लिकेशन और गतिविधि जीवनचक्र को समझना )। लेकिन उन कक्षाओं का "बल स्टॉप" बटन से कोई लेना-देना नहीं है, कम से कम सीधे नहीं ( मेरा उत्तर देखें : एक सक्रिय "बल स्टॉप" बटन का सीधा सा मतलब है कि या तो ऐप स्वयं या इसकी पंजीकृत सेवाओं में से एक वर्तमान में चल रही है)।
इज़ी

-2

यह बटन उन ऐप्स के लिए सक्रिय है जो चल रहे हैं या आखिरी बार चल रहे हैं जब आपने अपना डिवाइस शुरू किया था।

एंड्रॉइड पूरी तरह से ऐप को नहीं मारता है जब आप इससे बाहर निकलते हैं, तो यह बटन पूरी तरह से ऐप को बंद करने और इसे स्टैक (ऐप चलाने) से हटाने के लिए है, यह बटन ऐप द्वारा उपयोग की जाने वाली मेमोरी को भी मुफ्त करता है।

चल रहे ऐप्स को सूचीबद्ध करने का कोई तरीका नहीं है, पृष्ठभूमि में चलने वाले ऐप्स में भी यह बटन है।

प्ले स्टोर में अपने डिवाइस की मेमोरी को स्वचालित रूप से प्रबंधित करने के लिए मुफ्त किलर ऐप हैं।


3
जबकि मूल जानकारी सही है: "स्वचालित हत्यारों" के बारे में बेहतर तरीके से हटा दें। कुछ समय हो सकता है जब उन्हें (Android 2.x से पहले) की आवश्यकता थी, लेकिन वे बिल्कुल गर्भ-उत्पादक हैं और ज्यादातर बैटरी रनटाइम पर नकारात्मक प्रभाव डालते हैं।
इज़ी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.