ฉันให้ฟังเกี่ยวกับการให้บริการและรับการออกอากาศ อะไรคือความแตกต่างระหว่างพวกเขาและสิ่งที่พวกเขาส่งผลกระทบต่อการทำงานของโทรศัพท์ Android ของฉันจากมุมมองของฉัน?
ฉันให้ฟังเกี่ยวกับการให้บริการและรับการออกอากาศ อะไรคือความแตกต่างระหว่างพวกเขาและสิ่งที่พวกเขาส่งผลกระทบต่อการทำงานของโทรศัพท์ Android ของฉันจากมุมมองของฉัน?
คำตอบ:
แอปพลิเคชัน Android มีองค์ประกอบสามชนิด โดยทั่วไปผู้ใช้ไม่จำเป็นต้องรู้เกี่ยวกับพวกเขา: พวกเขาเป็นวิธีที่ผู้เขียนแอปจะเขียนโปรแกรมพฤติกรรมที่เฉพาะเจาะจงลงในแอพของพวกเขา แต่ถ้าคุณดูพฤติกรรมของแอพอย่างใกล้ชิดเช่นกับตัวจัดการงานหรือถ้าคุณกำลังทำสิ่งต่าง ๆ โดยอัตโนมัติด้วยแอพอย่าง Tasker มันจะช่วยให้คุณเข้าใจว่ามันเข้ากันได้อย่างไรในระบบ
กิจกรรมเป็นชนิดที่คุ้นเคยมากที่สุดส่วนประกอบ: มันเป็นหน้าต่างคุณสามารถดู: ทั้งแบบเต็มหน้าจอหรือโต้ตอบขนาด กิจกรรมจะทำงานเฉพาะเมื่อกิจกรรมนั้นแสดงบนหน้าจอ เมื่อคุณออกจากกิจกรรมแล้ว Android จะทำให้แอปนั้นอยู่ในหน่วยความจำพร้อมที่จะเริ่มต้นอีกครั้ง แต่กิจกรรมจะไม่ทำงานหมายความว่ามันจะไม่ใช้แบตเตอรี่หรือเครือข่าย แอปเริ่มกิจกรรมโดยใช้นักการเจตนา เจตนาสามารถระบุกิจกรรมที่จะเริ่มต้นอย่างชัดเจนหรือสามารถระบุการดำเนินการที่จะดำเนินการ (เช่นการเปิดไฟล์เฉพาะ) หากมีมากกว่าหนึ่งกิจกรรมสามารถ "จัดการ" เจตนาคุณจะเห็นกล่องโต้ตอบที่ขอให้คุณเลือก
บริการเป็นส่วนประกอบโปรแกรมอื่น เมื่อองค์ประกอบอื่น (อาจเป็นกิจกรรมหรือบริการอื่น) ได้เริ่มให้บริการมันจะทำงานในพื้นหลังจนกว่าจะหยุดตัวเอง ซึ่งหมายความว่าบริการอาจทำให้โทรศัพท์ของคุณตื่น (ใช้ล็อคปลุก ) แบตเตอรี่หมดหรือใช้ข้อมูลเครือข่ายจำนวนมากโดยไม่มีสิ่งใดแสดงบนหน้าจอ
แอพสามารถใช้บริการต่างๆเพื่อทำกระบวนการที่ใช้เวลานานในพื้นหลังเช่นการดาวน์โหลดไฟล์จากเซิร์ฟเวอร์หรือตรวจสอบอีเมลหรือตรวจสอบตำแหน่งของคุณ แม้ว่าบริการจะไม่แสดงหรือโต้ตอบกับคุณโดยตรง แต่บริการเหล่านั้นยังคงปรากฏในรายการ "แอพที่กำลังรัน" จากการตั้งค่าแอปให้เลือกปพลิเคชันหรือโปรแกรมผู้จัดการแล้วเล่น คุณสามารถหยุดบริการได้ แต่โดยทั่วไปไม่จำเป็น เนื่องจากบริการไม่สามารถมองเห็นได้โดยตรง Android ถือว่าพวกเขามีความสำคัญน้อยกว่ากิจกรรมดังนั้นพวกเขาจะเป็นคนแรกที่ถูกฆ่าเมื่อโทรศัพท์ของคุณต้องการหน่วยความจำเพิ่มเติม
เครื่องรับสัญญาณออกอากาศเป็นองค์ประกอบประเภทที่สาม เช่นเดียวกับบริการพวกเขามีอยู่ในพื้นหลังและไม่โต้ตอบกับคุณโดยตรง แต่แตกต่างจากบริการที่พวกเขาไม่สามารถทำงานต่อไปหรือทำงานยาว: พวกเขามีอยู่เพื่อตอบสนองต่อเหตุการณ์ และแตกต่างจากกิจกรรมและบริการผู้รับมากกว่าหนึ่งรายสามารถเริ่มต้นได้ในคราวเดียว
คอมโพเนนต์ถ่ายทอดเจตนาที่เป็นไปได้สำหรับแอปเดียว แต่บ่อยครั้งขึ้นโดยไม่ระบุแอปเฉพาะ ในกรณีนี้ความตั้งใจมักจะหมายถึงเหตุการณ์ที่เกิดขึ้นเช่นแบตเตอรี่ใกล้หมด ระบบค้นหาตัวรับสัญญาณออกอากาศทั้งหมดที่ลงทะเบียนความสนใจ (โดยใช้ตัวกรองเจตนา ) และเรียกใช้แต่ละรายการ เครื่องรับสัญญาณออกอากาศแต่ละเครื่องสามารถตอบสนองทันทีเช่นโดยการสร้างการแจ้งเตือนหรือสามารถเริ่มบริการหรือกิจกรรมเพื่อดำเนินการต่อไป ทันทีที่ตัวรับสัญญาณบรอดคาสต์ได้จัดการกับเหตุการณ์มันจะหยุดและจะไม่ทำงานอีกครั้งจนกว่าเหตุการณ์ที่คล้ายกันอื่นจะออกอากาศ
ตัวอย่างขององค์ประกอบทั้งสามที่ทำงานร่วมกันคือเมื่อคุณดาวน์โหลดแอพจาก Google Play ก่อนอื่นกิจกรรม Google Play จะมีส่วนติดต่อแบบภาพให้คุณเลือกเนื้อหาที่จะดาวน์โหลด รายการแอพอาจเป็นกิจกรรมเดียว คลิกที่ปุ่ม "ติดตั้ง" เริ่มกิจกรรมอื่นเพื่อแสดงการยืนยันหรือโต้ตอบการชำระเงิน เมื่อคุณยืนยันกิจกรรมไดอะล็อกจะเริ่มต้นบริการ บริการจะดาวน์โหลดเนื้อหาต่อไปแม้ว่ากิจกรรมจะเสร็จสิ้นและจะไม่ทำงานอีกต่อไป
แต่บางทีโทรศัพท์อาจขาดการเชื่อมต่ออินเทอร์เน็ตในขณะที่กำลังดาวน์โหลดแอพใหม่ หากสิ่งนี้เกิดขึ้นบริการดาวน์โหลดของ Google Play จะลงทะเบียนเครื่องรับสัญญาณออกอากาศพร้อมตัวกรองความตั้งใจที่จะบอกว่าสนใจการเปลี่ยนแปลงการเชื่อมต่อเครือข่ายแล้วบริการจะหยุดตัวเอง เมื่อโทรศัพท์เชื่อมต่อกับอินเทอร์เน็ตระบบจะถ่ายทอดกิจกรรม Android จะเริ่มตัวรับสัญญาณออกอากาศที่ลงทะเบียนบริการ Google Play พร้อมกับตัวรับสัญญาณออกอากาศอื่น ๆ ที่รอเหตุการณ์นั้น ในกรณีนี้เครื่องรับสัญญาณออกอากาศจะเริ่มบริการดาวน์โหลดอีกครั้ง บริการจะสร้างการแจ้งเตือนเมื่อการดาวน์โหลดดำเนินการและเมื่อเสร็จสิ้นแล้วจะส่งการออกอากาศของตัวเองเพื่อแจ้งให้แอปอื่น ๆ ทราบว่ามีการติดตั้งแพคเกจใหม่แล้วและจะหยุดตัวเอง ในทางกลับกันสิ่งนี้จะเริ่มตัวรับสัญญาณออกอากาศจากแอพอื่น ๆ
สรุป:-