เราทุกคนรู้บทเรียน "มัลติทาสกิ้ง = ความสามารถในการดำเนินการหลายกระบวนการในเวลาเดียวกัน" เราใช้มันในคอมพิวเตอร์ของเราโดยไม่ได้ตระหนักถึงการมีอยู่ของมันเป็นพิเศษ การสลับระหว่างแอปพลิเคชันหรือหน้าต่างของแอปพลิเคชันหนึ่งเกิดขึ้น (สำหรับเรา) แบบเรียลไทม์ และเราใช้ความสามารถนี้ของระบบปฏิบัติการเป็นหลัก
งานที่แตกต่างกัน
ระบบปฏิบัติการจะจัดสรรโปรเซสเซอร์ให้กับแอปพลิเคชันทั้งหมดในช่วงเวลาสั้นๆ ช่วงเวลาเหล่านี้มีขนาดเล็กมากจนเราไม่สามารถสังเกตเห็นได้ ดังนั้นจึงดูเหมือนว่าแอปพลิเคชันทั้งหมดกำลังใช้โปรเซสเซอร์ในเวลาเดียวกัน เราอาจคิดอย่างนั้น มัลติทาสกิ้งใน iOS 4 ทำงานเหมือนกันทุกประการ มันไม่เป็นเช่นนั้น สาเหตุหลักคือความจุของแบตเตอรี่แน่นอน หากแอปพลิเคชันทั้งหมดถูกปล่อยให้ทำงานอยู่เบื้องหลังจริงๆ เราอาจต้องหาซ็อกเก็ตภายในไม่กี่ชั่วโมง
แอปพลิเคชันส่วนใหญ่ที่เข้ากันได้กับ iOS 4 จะถูกกำหนดให้อยู่ใน "โหมดระงับ" หรือเข้าสู่โหมดสลีปหลังจากกดปุ่มโฮม การเปรียบเทียบอาจปิดฝาแล็ปท็อปซึ่งจะเข้าสู่โหมดสลีปทันที หลังจากเปิดฝา แล็ปท็อปจะเริ่มทำงาน และทุกอย่างจะอยู่ในสถานะเดียวกับก่อนที่จะปิดฝา นอกจากนี้ยังมีแอปพลิเคชั่นที่การกดปุ่มโฮมทำให้แอปหยุดทำงาน และโดยนั้นเราหมายถึงการเลิกจ้างที่แท้จริง นักพัฒนามีทางเลือกว่าจะใช้วิธีใดเหล่านี้
แต่มีแอปพลิเคชันประเภทอื่น แอปเหล่านี้เป็นแอปที่ทำงานอยู่เบื้องหลังจริงๆ แม้ว่าคุณจะกำลังทำสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิงบน iDevice ก็ตาม Skype เป็นตัวอย่างที่ดีเนื่องจากต้องมีการเชื่อมต่ออินเทอร์เน็ตที่สม่ำเสมอ ตัวอย่างอื่นๆ อาจเป็นแอปพลิเคชันที่เล่นเพลงพื้นหลัง (Pandora) หรือแอปพลิเคชันที่ต้องใช้ GPS อย่างต่อเนื่อง ใช่ แอปเหล่านี้จะทำให้แบตเตอรี่หมดแม้ว่าจะทำงานอยู่เบื้องหลังก็ตาม
นอนหรือยิงลง?
แอปพลิเคชันบางตัวที่เข้ากันได้กับ iOS 4 ซึ่งควรเข้าสู่โหมดสลีป (เข้าสู่ "โหมดระงับ") หลังจากกดปุ่มโฮมแล้ว ให้ทำงานต่อไปในพื้นหลัง Apple ให้เวลานักพัฒนาสิบนาทีเพื่อให้แอปทำงานให้เสร็จสิ้น ไม่ว่าจะเป็นอะไรก็ตาม สมมติว่าคุณกำลังดาวน์โหลดไฟล์ใน GoodReader ทันใดนั้นมีคนต้องการโทรหาคุณ และคุณก็ต้องยอมรับสายสำคัญนั้น การโทรใช้เวลาไม่เกินสิบนาที คุณจะกลับสู่แอปพลิเคชัน GoodReader ไฟล์อาจถูกดาวน์โหลดแล้วหรือยังคงถูกดาวน์โหลดอยู่ จะทำอย่างไรถ้าการโทรใช้เวลานานกว่าสิบนาที? ในกรณีของเราแอปพลิเคชัน GoodReader จะต้องหยุดกิจกรรมและบอก iOS ว่าสามารถเข้าสู่โหมดสลีปได้ หากไม่ทำ เธอจะถูก iOS ยุติการทำงานอย่างไร้ความปราณี
ตอนนี้คุณรู้ความแตกต่างระหว่างมัลติทาสก์แบบ "มือถือ" และ "เดสก์ท็อป" แล้ว แม้ว่าความลื่นไหลและความเร็วในการสลับระหว่างแอปพลิเคชันต่างๆ จะมีความสำคัญสำหรับคอมพิวเตอร์ แต่อายุการใช้งานแบตเตอรี่ก็เป็นสิ่งสำคัญที่สุดสำหรับอุปกรณ์เคลื่อนที่เสมอ การทำงานหลายอย่างพร้อมกันยังต้องได้รับการปรับให้เข้ากับข้อเท็จจริงนี้ด้วย ดังนั้นหลังจากอ่านบทความนี้แล้ว หากคุณกดปุ่มโฮมสองครั้ง คุณจะไม่เห็น "แถบแอปพลิเคชันที่ทำงานอยู่เบื้องหลัง" อีกต่อไป แต่จะมีเพียง "รายการแอปพลิเคชันที่ใช้งานล่าสุด" เท่านั้น
ผู้เขียน: ดาเนียล ฮรุชกาแหล่งที่มา: onemoretap.com
อืม น่าสนใจ :) ฉันคิดเสมอว่ามันคล้ายกับวิธีที่สามารถทำได้บน Unix เสมอ แอปพลิเคชันได้รับการจัดสรรเวลา CPU เป็นศูนย์และกระบวนการอยู่ในหน่วยความจำ ทรัพยากรทั้งหมดได้รับการจัดสรรแล้ว ดังนั้นฉันจึงต้องกดโฮมสองครั้งแล้วหยุดแอปพลิเคชั่นทันทีเพื่อลบมัน หมายความว่าแม้ว่าจะมีไอคอนแอปพลิเคชันอยู่ในแผ่นงานที่ซ่อนอยู่ด้านล่าง แต่แอปยังคงปิดไปนานแล้ว (หลังจาก 10 นาที)
ในรายการด้านล่าง มีเพียงแอปพลิเคชันที่เปิดล่าสุด โดยบางแอปพลิเคชันยังคงสามารถทำงานได้ บางส่วนถูกระงับ และบางส่วนถูกยกเลิกโดยสมบูรณ์ การลบแอปพลิเคชันออกจากรายการด้วยตนเองจะมี "ผลข้างเคียง" ซึ่งหากแอปพลิเคชันทำงานอยู่ (หรือถูกระงับ) แอปพลิเคชันจะถูกยกเลิก
แอปพลิเคชันจะต้องบอกตัวเองเกี่ยวกับเวลาพิเศษ 10 นาทีนั้น และไม่รับประกันว่าจะได้รับ
นั่นไม่ได้กำจัดความหมกมุ่นของฉันในการปิดแอปพลิเคชันออกจากรายการ (จะเกิดอะไรขึ้นถ้ามันกินทรัพยากรโดยไม่ได้ตั้งใจใช่ไหม :-D)
ความเข้าใจของฉันคือเวลา 10 นาทีมีไว้สำหรับแอปที่ต้องทำงานในพื้นหลังและไม่จัดอยู่ในหมวดหมู่ "Skype, GPS และการเล่นเพลง" แอปพลิเคชันอื่นๆ สลับไปที่โหมดระงับและอยู่ในหน่วยความจำจนกว่าหน่วยความจำจะจำเป็นสำหรับสิ่งอื่น
โหมดที่ถูกระงับมีข้อดีคือ หากคุณต้องการปิดแอป คุณจะไม่สูญเสียข้อมูลของแอป ทุกอย่างจะถูกบันทึกไว้ในขณะที่เปลี่ยนเป็นโหมดระงับ
หรือในกรณีเช่น การเล่น เทียบเท่ากับคำสั่ง bg / fg
แล้วเครื่องเล่นหรือแอพพลิเคชั่นอื่นๆ ที่ทำงานอยู่เบื้องหลังเป็นระยะเวลาเท่าใดล่ะ? ฉันหมายถึงฉันต้อง "เลือก" ในฐานะนักพัฒนาหรือไม่ หรือต้องได้รับการอนุมัติจาก Apple ด้วยวิธีใดวิธีหนึ่ง
เพื่อให้แอปพลิเคชันทำงานในพื้นหลังได้ไม่จำกัดเวลา จะต้องดำเนินการ (ลงทะเบียน) อย่างใดอย่างหนึ่งต่อไปนี้:
– ใช้บริการระบุตำแหน่ง (GPS)
- เล่นเพลงในพื้นหลัง
– ใช้ VOIP (Voice over IP)
ตามชื่อเรื่อง (ภาพรวม) ฉันคาดว่าบทความนี้จะมีคำอธิบายที่ค่อนข้างครอบคลุมพร้อมรายละเอียดทางเทคนิค นี่ดูเหมือนเป็น perex ของบทความมากกว่า ถ้าเป็น perex แล้วภาคต่อจะมาเมื่อไหร่คะ? คุณสามารถขอเงินคืนได้หรือไม่? -
และคุณต้องการทราบรายละเอียดเพิ่มเติมเกี่ยวกับอะไร?
จากบทความที่มีชื่อว่า "ภายใต้ประทุน" ฉันคาดหวังว่าจะได้คำอธิบายทางเทคนิคโดยละเอียด (ผู้เขียนสามารถวิเคราะห์ได้ เช่น ค่าใช้จ่ายเมื่อสลับแอปพลิเคชัน หรือวิธีจัดการการเข้าถึงทรัพยากรระบบไปพร้อมๆ กัน) โดยเปรียบเทียบกับรุ่นอื่นๆ (เช่น iPhone ที่เจลเบรคแล้ว) เหมาะอย่างยิ่งที่จะสำรองข้อมูลด้วยการวัดบางอย่าง ฉันคาดหวังไว้มากจากบทความที่มี "ภายใต้ประทุน" ในชื่อมากกว่าคำอธิบายที่ผิวเผินนี้
มีไคลเอนต์ icq ใดบ้างที่ทำงานอย่างต่อเนื่องในพื้นหลังเช่น skype และไม่หลุดการเชื่อมต่อ?
แอปพลิเคชันมีเวลา 10 วินาทีในการเข้าสู่โหมด Suspend ไม่ใช่ 10 นาที... และในระหว่างกระบวนการนี้ บางส่วนอาจ "ค้าง" ในบริการแบ็กเอนด์หรือไม่ก็ได้ ซึ่งบางรายการมีการระบุไว้ข้างต้นแล้ว - นั่นคือสิ่งที่ Apple เรียกว่า "ฉลาด" "มัลติทาสกิ้ง.... จากนั้นระบบก็ยิงเธอล้ม
แอปพลิเคชันอาจต้องใช้เวลาเพิ่มเติมหากมีการดาวน์โหลด อัปโหลด หรือประมวลผลบางสิ่ง มันไม่เกี่ยวอะไรกับ GPS, VoIP หรือการเล่นเพลง ซึ่งทำงานในโหมดมินิมอลโดยไม่จำกัดเวลา