ฉันจะหยุดแอปพลิเคชันและบริการไม่ให้ทำงานได้อย่างไร


65

เมื่อโทรศัพท์ของฉันเริ่มทำงานมีแอปพลิเคชั่น / บริการหลายตัวที่ทำงานอยู่เบื้องหลังซึ่งฉันไม่ต้องการ และเมื่อฉันกดปุ่มโฮมในขณะที่ใช้แอพนั้นแอปนั้นจะเข้าสู่พื้นหลังโดยไม่ต้องออก ฉันจะหยุดแอพเหล่านี้ไม่ให้ทำงานได้อย่างไร?


นี่คือ Wiki ชุมชน; ทุกคนรู้สึกอิสระที่จะเพิ่มและแก้ไขข้อมูลในคำตอบ :)
Matthew อ่าน

การสนทนาเมตาที่เกี่ยวข้อง: meta.android.stackexchange.com/questions/1119/…
Flow

คำตอบ:


65

สิ่งแรกสิ่งแรก

คุณอาจมีความเข้าใจผิดเกี่ยวกับการทำงานของ Android และสิ่งที่เกิดขึ้นจริง ๆ เมื่อบริการกำลังทำงานหรือแอปอยู่ในพื้นหลัง ดูเพิ่มเติม: ฉันจำเป็นต้องติดตั้งตัวจัดการงานหรือไม่

แอพส่วนใหญ่ (เช่นแอปที่คุณเปิดด้วยตนเอง) มีกิจกรรมปัจจุบันใส่ไว้ในพื้นหลังเมื่อคุณสลับไปที่แอพอื่นหรือหน้าจอโฮม กิจกรรมใช้หน่วยความจำบางส่วนเพื่อให้คุณสามารถกลับไปที่แอพและเลือกจุดที่คุณค้างไว้ กิจกรรมมักจะไม่สามารถเรียกใช้การคำนวณในพื้นหลังดังนั้นจึงไม่มีการใช้ CPU หรือแบตเตอรี่สำหรับกิจกรรมเหล่านั้น หากความกังวลเกี่ยวกับอายุการใช้งานแบตเตอรี่หรือ CPU คุณไม่จำเป็นต้องกังวลเกี่ยวกับแอพเหล่านี้! คุณไม่จำเป็นต้องกังวลเกี่ยวกับความทรงจำเช่นกัน Android จะฆ่าแอปโดยอัตโนมัติและเพิ่มหน่วยความจำหากระบบเหลือน้อย

หากแอปในพื้นหลังกำลังเรียกใช้บริการนั่นอาจเป็นอีกเรื่องหนึ่ง บริการที่ออกแบบมาอย่างดีนั้นใช้เวลาส่วนใหญ่ในการนอนหลับตื่นขึ้นมาเพื่อตรวจสอบเป็นครั้งคราว (ตัวอย่างเช่นการแจ้งเตือนสื่อสังคมออนไลน์ใหม่) อย่างไรก็ตามบริการที่ออกแบบมาไม่ดีอาจทำงานบ่อยขึ้นหรือทำการซิงค์ที่คุณไม่ต้องการส่งผลต่ออายุการใช้งานแบตเตอรี่และการใช้ข้อมูลของคุณ หากคุณมีบริการโกงคุณอาจต้องการลองใช้วิธีแก้ไขปัญหาด้านล่าง

โซลูชั่น

หากคุณแน่ใจว่าคุณต้องการให้แอปนี้หยุดทุกค่าใช้จ่ายคุณสามารถลองวิธีการเหล่านี้ได้

ถอนการติดตั้ง

เมื่อแอปทำสิ่งที่คุณไม่ชอบไม่ว่าจะทำงานในพื้นหลังเมื่อเริ่มต้นหรืออย่างอื่นตัวเลือกแรกของคุณคือการถอนการติดตั้ง แก้ไขปัญหา! คุณสามารถลบแอประบบได้หากคุณรูทง่ายที่สุดด้วยTitanium Backupแต่โปรดระมัดระวังในการลบ bloatware ของผู้ให้บริการเท่านั้นและไม่ใช่แอพระบบที่สำคัญ

อย่างไรก็ตามหากคุณต้องการที่จะใช้แอพนั้นนี่ไม่ใช่ตัวเลือก: อ่านต่อไป

Ping นักพัฒนา

daemons ที่ยิ่งใหญ่ที่สุดที่มาพร้อมกับ Android บางตัวเป็นบริการที่ทำงานในพื้นหลังโดยไม่มีเหตุผลหรือเมื่อการตรวจสอบช่วงเวลาอย่างง่ายด้วย AlarmManager ของ Android นั้นเพียงพอแล้ว เราจำเป็นต้องฆ่าพวกเขาทั้งหมดด้วยไฟและไม่สนใจพวกเขา ทุกสิ่งที่ไม่เกี่ยวข้องกับการแก้ไขโดยนักพัฒนาเป็นเพียงแฮ็คที่จะส่งผลในด้านลบอื่น ๆ หากคุณติดต่อนักพัฒนาด้วยปัญหาของพวกเขาพวกเขาสามารถแก้ไขแอปและคุณสามารถใช้งานได้ตามปกติ นั่นเป็นชัยชนะสำหรับทุกคนที่เกี่ยวข้อง

แอปฆ่าด้วยตนเอง

ก่อนอื่นโปรดทราบว่าแอพจำนวนมากจะปิดอย่างสมบูรณ์หากคุณกลับออกจากแอพแทนที่จะใช้ปุ่มหน้าแรก

หากคุณใช้งาน Ice Cream Sandwich หรือ Jelly Bean คุณสามารถไปที่การตั้งค่ากดแอพพลิเคชั่นและปิดแอพด้วยตนเองโดยแท็บไปยังแอปที่รันอยู่ หรือคุณสามารถกดปุ่มแอปพลิเคชันล่าสุดและปัดออกจากหน้าจอเพื่อปิด ใน Android รุ่นเก่าอาจมีตัวจัดการงานในตัวที่เพิ่มโดยผู้ผลิตเพื่อทำสิ่งเดียวกันหรือคุณสามารถดาวน์โหลดแอปตัวจัดการงานเพื่อทำเช่นนั้น Settings -> Applications -> Servicesสำหรับการให้บริการดูที่

คำเตือน:อย่าไม่ใช้ killers งานอัตโนมัติ! task killer อัตโนมัติทำงานในพื้นหลัง (สิ่งที่คุณไม่ต้องการ) และฆ่าแอพเมื่อใดก็ตามที่พวกเขาเริ่ม เวลาส่วนใหญ่ทำให้สิ่งเลวร้ายลงเพราะแอปมักใช้ทรัพยากรมากขึ้นเมื่อเริ่มต้นเมื่อเทียบกับเมื่อไม่ได้ใช้งาน บริการที่ทำงานโดยอัตโนมัติและถูกรีสตาร์ทโดยระบบจะถูกฆ่าซ้ำแล้วซ้ำอีกทำให้เปลืองแบตเตอรี่ของคุณ แอพที่รับเหตุการณ์ระบบที่รู้จักในชื่อ Intents (เช่นความครอบคลุมเครือข่ายและการเปลี่ยนแปลงการเชื่อมต่อ) จะถูกฆ่าทุกครั้งที่เริ่มต้นเพื่อรับเหตุการณ์ ไม่มีอะไรที่ดีสามารถเกิดขึ้นได้

ข้อยกเว้นที่เป็นไปได้คืองานอัตโนมัติที่ดำเนินการเฉพาะเมื่อคุณผู้ใช้ดำเนินการเฉพาะ โดยพื้นฐานแล้วพวกเขากำลังทำให้การจัดการงานด้วยตนเองง่ายขึ้นสำหรับคุณ แอปเช่นทาซเคอร์หรือลามาสามารถใช้เพื่อสิ้นสุดกิจกรรมเมื่อคุณสลับแอพตัวอย่างเช่นเพื่อให้แน่ใจว่าพวกเขาจะไม่อยู่ในพื้นหลัง คำแนะนำสำหรับ Llama:

Eventสร้างใหม่ เพิ่มสภาพที่เรียกว่าและเลือกสถานะActive App App stopped or in backgroundเลือกแอพที่คุณต้องการมุ่งเน้น Actionถัดไปเพิ่ม เลือกKill Application (root privileges)จากนั้นเลือกแอพของคุณอีกครั้ง

ตอนนี้ทุกครั้งที่คุณออกจากแอพ Llama จะฆ่ามัน

แก้ไข Autostarts และ Intent

แอปพลิเคชั่นบางตัวอาจเริ่มต้นเมื่อพวกเขาได้รับ Intents (เหตุการณ์ของระบบ) ด้วยการใช้แอปเช่นสิทธิ์ถูกปฏิเสธคุณสามารถเปลี่ยนแอพการอนุญาตที่สามารถร้องขอได้ซึ่งจะ จำกัด เหตุการณ์ที่พวกเขาสามารถรับได้ หรือคุณสามารถใช้แอพเช่นAutostarts (แอพที่ชำระเงิน) เพื่อแก้ไขโดยเฉพาะซึ่ง Intent จะถูกส่งไปที่แอพใด สำหรับโซลูชันทั้งสองคุณจะต้องเข้าใช้รูท

ตัวเลือกอื่น:

(รหัสที่มาเริ่มอัตโนมัติมีให้ที่นี่: https://github.com/miracle2k/android-autostarts )

คำเตือน:สิ่งนี้อาจทำให้แอปหยุดทำงานหรือยับยั้งการทำงานที่ต้องการ ดำเนินการด้วยความระมัดระวังโดยเฉพาะกับแอประบบที่สำคัญ

แอพแช่แข็ง

คุณสามารถใช้แอพเช่นTitanium BackupหรือApp Quarantineเพื่อตรึงแอพให้สมบูรณ์เพื่อที่จะไม่สามารถทำงานได้เลย หากคุณต้องการใช้พวกเขาคุณต้องยกเลิกการตรึงพวกเขาก่อน

คำเตือน:อย่าได้ทำเช่นนี้กับปพลิเคชันของระบบที่สำคัญ! อุปกรณ์ของคุณอาจไม่สามารถบู๊ตได้

ใส่แอปเข้าสู่โหมดไฮเบอร์เนต

Greenify (ต้องใช้สิทธิ์ Android 4.0+ และ ROOT) ใช้วิธีการอื่นที่เรียกว่า "Hibernation" จาก "Freezing" แบบดั้งเดิม

คุณสามารถไฮเบอร์เนตแอปที่ไม่ใช่ระบบใด ๆ ที่คุณไม่ต้องการให้รันอย่างลับ ๆ ล่อๆ (ผ่านบริการแบบถาวรผู้รับการออกอากาศสัญญาณเตือนและอื่น ๆ ) ได้อย่างมีประสิทธิภาพเทียบเท่ากับ "การแช่แข็ง" ในขณะที่ยังคงรักษาทางเข้าทั้งหมด และอื่น ๆ ) และทำงานได้อย่างสมบูรณ์เมื่อคุณเรียกใช้อย่างชัดเจนโดยไม่จำเป็นต้องยกเลิกการตรึงก่อน

คำเตือน:อย่าไม่ hibernatize ปลุกปพลิเคชันนาฬิกาปลุก, ปพลิเคชันการส่งข้อความโต้ตอบแบบทันทีและปพลิเคชันอื่น ๆ ที่มีการทำงานขั้นพื้นฐานต้องอาศัยกลไกพื้นหลัง (จับเวลา, เหตุการณ์ของระบบ "ดัน" ฯลฯ ) ในการทำงาน

บรรทัดล่าง

Android ได้รับการออกแบบมาเพื่อดูแลการจัดการแอพสำหรับคุณ ในทุกกรณี แต่ที่รุนแรงที่สุดคุณไม่จำเป็นต้องกังวลเกี่ยวกับเรื่องนี้ เมื่อมีปัญหาเราแนะนำให้คุณไปหาทางออกที่ง่ายที่สุด - ถอนการติดตั้ง โซลูชันอื่น ๆ ทั้งหมดมีการแฮ็กในสิ่งที่ Android ออกแบบมาเพื่อทำ บางทีวันหนึ่ง Android จะได้รับการสนับสนุนอย่างเป็นทางการสำหรับการจัดการบริการ แต่จนกว่าจะถึงเวลานั้นให้ระมัดระวัง


+1 คำตอบที่ยอดเยี่ยม! แต่ "ภูตที่ยิ่งใหญ่ที่สุด" หมายถึงอะไร และ "ฆ่าแอปเมื่อใดก็ตามที่เริ่ม" หมายถึงอะไร (ถ้าคุณฆ่าทุกแอปทุกครั้งที่เริ่มฉันจะคิดว่ามันเป็นไปไม่ได้ที่จะเปิดตัวและใช้แอพใด ๆ เลย) มันจะดีถ้าคุณสามารถโปรด ping ฉันด้วยการตอบความคิดเห็นที่ชัดเจน :)
ลืมไปเลย

@unforgettableid "greatemames daemons" เป็นการเล่นกับ "great demons" และ "daemons" (บริการ) "Kill apps" ไม่ได้หมายถึง "kill all apps"
Matthew อ่าน

2
"กิจกรรมมักจะไม่สามารถเรียกใช้การคำนวณในพื้นหลังดังนั้นจึงไม่มีการใช้ CPU หรือแบตเตอรี่สำหรับพวกเขา" - นั่นไม่จริง ไม่มีอะไรที่จะหยุดกิจกรรมจากการเริ่มต้นเธรดและปล่อยให้พวกเขาทำงานเมื่อออกจากเบื้องหน้า บางทีคุณอาจจะพูดว่า " กิจกรรมที่ประพฤติตัวดีมักจะ .... " โอเค แต่ความกังวลสำหรับคนส่วนใหญ่คือคนที่ไม่ประพฤติดี
Jeffrey Blattman

@JeffreyBlattman คุณถูกต้องโปรดอย่าลังเลที่จะแก้ไขปัญหานี้เนื่องจากเป็นคำตอบของ Community Wiki
Matthew อ่าน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.