หน้าแรก >> ข่าวทั้งหมด >> อ่านบทความ/ข่าว

[บทความ] ไขข้อข้องใจ การทำงานแบบ Multitasking บนระบบปฏิบัติการ iOS ทำงานอย่างไร ดีจริงหรือไม่?

[5-มกราคม-2555] สำหรับผู้ที่ใช้ระบบปฏิบัติการ iOS เวอร์ชั่น 4.0 ขึ้นไป ไม่ว่าจะเป็น iPhone 3GS, ไอโฟน 4 (iPhone 4), ไอโฟน 4S (iPhone 4S), iPod Touch Gen 3, iPod Touch Gen 4, ไอแพด 1 (iPad 1) และ ไอแพด 2 (iPad 2) รวมไปถึงอุปกรณ์ iOS อื่นๆ ที่จะเปิดตัวในอนาคตนั้น การใช้งานแบบ Multitasking หรือการใช้งานหลายๆ โปรแกรมได้พร้อมกันนั้น ถือว่า เป็นสิ่งที่สร้างความสะดวกสบายในการใช้งานได้เป็นอย่างดีเลยทีเดียวครับ แต่บ่อยครั้งที่ มีหลายๆ ท่านได้สงสัยเรื่อง การทำงานแบบ Multitasking บนระบบปฏิบัติการ iOS นั้นว่า ทำงานอย่างไร กินแบตเตอรี่มากน้อยแค่ไหน เปิดหลายโปรแกรมมากๆ จะกิน RAM ของเครื่องหรือไม่ การปิดโปรแกรมที่ไม่ใช้งาน จะช่วยทำให้ระบบทำงานได้เร็วขึ้น และประหยัดแบตเตอรี่ได้มากขนาดไหน วันนี้ เว็บไซต์เทคโมบล็อค มีคำตอบมาฝากกัน

    SPONSORED

มีหลายท่าน ที่มักจะเข้าใจผิดๆ เกี่ยวกับการทำงานแบบ Multitasking บนระบบปฏิบัติการ iOS 5 ว่า แอพพลิเคชั่นที่ค้างอยู่ตรงแถบ Multitasking bar (เปิดขึ้นมาโดยการกด Double tap นั่นเอง) จะมีการ run ตัวเองอยู่ตลอดเวลา แม้ว่าในขณะนั้นจะไม่มีการใช้งานก็ตาม และนั่นเป็นสาเหตุที่ทำให้เครื่องช้า เนื่องจาก RAM ถูกดึงไปใช้ และส่งผลให้แบตเตอรี่ค่อยๆ ลดลง การปิดแอพพลิเคชั่นที่ไม่ใช้งานนั้น ถือว่าเป็นทางออกที่ถูกต้อง ที่จะสามารถดึงประสิทธิภาพของตัวเครื่องให้กลับมาได้ จริงๆ แล้ว ความคิดเหล่านี้ คือความคิดที่ผิดสำหรับระบบปฏิบัติการ iOS ครับ เนื่องจากระบบการทำงานแบบ Multitasking บนระบบปฏิบัติการ iOS นั้น มีความแตกต่างจากคำว่า Multitasking ที่เราๆ ท่านๆ รู้จักกันนั่นเอง

สมัยที่เปิดตัว iOS 4.0 ที่มาพร้อมกับการทำงานแบบ Multitasking นั้น Steve Jobs ได้เคยเผยว่า การทำงานแบบ Multitasking นั้น จะต้องแลกมาด้วย ประสิทธิภาพในการทำงานที่ช้าลง ใช้หน่วยความจำ RAM มาก และกินพลังงานแบตเตอรี่ เนื่องจากเป็นการใช้งานแอพพลิเคชั่นหลายตัว ซึ่ง Steve Jobs เอง ได้มองเห็นข้อเสียต่างๆ เหล่านี้ ของการมีระบบการทำงานแบบ Multitasking ซึ่งจะก่อให้เกิดผลเสียต่อผลิตภัณฑ์ และภาพลักษณ์ของบริษัท เลยได้มีการคิดค้นระบบ Multitasking แบบใหม่ นั่นคือ การใช้งานแอพพลิเคชั่น กับระบบเบื้องหลัง (Background) และ Fast App Switching ที่จะทำการเก็บสถานะค่าของแอพพลิเคชั่นนั้น ก่อนจะถูกปิดไป และจะทำการคืนค่าแอพพลิเคชั่นตัวดังกล่าวเมื่อถูกเปิดมาใช้งานใหม่ เสมือนว่า แอพพลิเคชั่นนั้นไม่ได้ถูกปิดไปนั่นเองครับ

ก่อนอื่น มาเข้าใจถึงสถานะของแอพพลิเคชั่น บน iOS กันก่อน

สำหรับแอพพลิเคชั่นบนระบบปฏิบัติการ iOS สามารถจำแนกได้เป็น 5 สถานะ ดังนี้ครับ

1. Not Running หมายถึง แอพพลิเคชั่นที่สิ้นสุดการทำงานลงไปแล้ว และไม่ได้ถูกเปิดมาใช้ (จะไม่ปรากฎอยู่บน Multitasking bar ครับ)
2. Inactive หมายถึง แอพพลิเคชั่นที่อยู่ในลักษณะของ foreground mode หรือ ผู้ใช้งาน ปิดหน้าจอเครื่องไว้ ขณะที่แอพพลิเคชั่นนั้น ยังไม่ถูกปิดตัวลง
3. Active หมายถึง แอพพลิเคชั่นที่กำลังเปิดใช้งานอยู่
4. Background หมายถึง แอพพลิเคชั่นที่ไม่ได้ถูกโชว์อยู่บนหน้าจอในขณะนั้น เนื่องจากมีการเปิดโปรแกรมอื่นซ้อนขึ้นมา แต่โปรแกรมนั้นยังถูกใช้งานอยู่ เช่น การเปิดเพลงฟังไปพร้อมๆ กับการเปิดเว็บ (แต่หน้าจอจะไม่แสดงในส่วนของเครื่องเล่นเพลง มีแต่เสียงเพลงที่ดังออกมา) การทำงานในส่วนนี้ เรียกว่า การทำงานในโหมด background หรือการทำงานแบบเบื้องหลัง นั่นเอง
5. Suspended หมายถึง แอพพลิเคชั่นยังค้างอยู่ในหน่วยความจำ RAM แต่ไม่ได้ถูกเปิดมาใช้งาน

การทำงานของระบบ Multitasking บนระบบปฏิบัติการ iOS

ทุกครั้งที่กดปุ่ม Home แอพพลิเคชั่นที่ใช้งานอยู่ในขณะนั้น จะเปลี่ยนสถานะจาก Active เป็น Background และ Suspended ตามลำดับครับ ซึ่งแอพพลิเคชั่นใดๆ ก็ตาม ที่อยู่ในสถานะ Suspended จะค้างอยู่ในหน่วยความจำ RAM ในเครื่อง ซึ่งสามารถเปิดขึ้นมาใช้งานได้ทันที โดยที่ไม่ต้องโหลดใหม่ ไม่เปลืองพลังงาน ไม่กินแบตเตอรี่ครับ (เนื่องจากค้างอยู่ใน RAM แล้วนั่นเอง)

หลายท่าน เมื่อเห็นแอพพลิเคชั่นค้างอยู่ใน Multitasking bar มากๆ มักจะเกิดอาการ "จิตตก" ว่า ยิ่งเปิดเยอะ ยิ่งกิน RAM เยอะ เลยต้องจัดการปิดแอพพลิเคชั่นต่างๆ เหล่านั้น ด้วยวิธี Manual แต่สำหรับระบบปฏิบัติการ iOS แล้ว ต้องบอกว่า ไม่ต้องทำเองครับ ระบบเค้าจัดการให้เราเอง ด้วยวิธีการแบบนี้ครับ

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

ถ้าหากเขียนเป็นแผนภาพ จะเป็นดังนี้ครับ

Active > Background > Suspended > Not Running

จากกรณีนี้ สามารถสรุปได้ว่า แถบ Multitasking bar นั้น มีแอพพลิเคชั่นอยู่หลายสถานะด้วยกัน นั่นคือ Background, Suspended และ Not Running ฉะนั้น การที่เราเห็นแอพพลิเคชั่นบนแถบ Multitasking bar มากๆ ไม่ได้หมายความว่า แอพพลิเคชั่นดังกล่าวนั้นถูกเปิดอยู่นะครับ เพราะบางแอพพลิเคชั่น อาจจะอยู่ในสถานะ Not Running แล้วก็ได้

การทำงานแบบเบื้องหลัง (Background mode)

การทำงานแบบเบื้องหลัง หรือ Background mode บนระบบปฏิบัติการ iOS นั้น แอพพลิเคชั่นแต่ละตัวนั้น เมื่อถูกกดปิดโดยปุ่ม Home จะเข้าสู่สถานะ Background ทันที ซึ่งในช่วงระยะเวลาประมาณ 5 วินาทีนั้น ระบบจะทำการเก็บข้อมูลของแอพพลิเคชั่นที่เพิ่งถูกปิดไปว่า อยู่ในสภาพไหน เช่น หน้าที่เปิดไว้ล่าสุดคืออะไร ภาพอยู่ในแนวตั้งหรือแนวนอน เวลา การตั้งค่า ก่อนที่จะเปลี่ยนสถานะกลายเป็น Suspended ครับ จึงทำให้เวลาที่เราเปิดโปรแกรมที่เพิ่งปิดไปหมาดๆ เราจึงเห็นหน้าล่าสุดที่เราเพิ่งเปิดไปนั่นเอง

อย่างไรก็ดี ยังมีบริการบางอย่าง ที่สามารถรันอยู่ใน Background mode ได้ โดยที่ไม่ถูกผลักไปสู่สถานะ Suspended ในทันทีถ้าหากยังใช้งานอยู่ ซึ่งได้แก่ โปรแกรมเล่นเพลง, ระบบ GPS, การคุยโทรศัพท์ผ่านระบบ VOIP (บน Skype), NewsStand App, อีเมล รวมไปถึงการอัพเดทแอพพลิเคชั่นต่าง

บทสรุป การทำงานแบบ Multitasking บนระบบปฏิบัติการ iOS

1. ถ้าหากมีใครมาบอกว่า แอพพลิเคชั่นที่อยู่บน Multitasking bar นั้น กำลังทำงานอยู่ ซึ่งจะกิน RAM กินแบตเตอรี่ ให้บอกเค้าคนนั้นไปว่า คุณเข้าใจผิดแล้วจ้า
2. เมื่อเรากดปุ่ม Home แอพพลิเคชั่นที่เพิ่งถูกเปิดใช้งาน จะเปลี่ยนจากสถานะ Active ไปสู่ Background และ Suspended ซึ่งจะไม่มีผลต่อ CPU และไม่กินแบตเตอรี่
3. บางแอพพลิเคชั่น อาจจะใช้เวลาใน Background mode ประมาณ 10 นาที เพื่อเก็บข้อมูล ก่อนจะเข้าสู่สถานะ Suspended
4. ถ้าหาก RAM ในตัวเครื่อง เหลือน้อยเข้าขั้นวิกฤต ระบบปฏิบัติการ iOS จะทำการผลักแอพพลิเคชั่นที่อยู่ในสถานะ Suspended และถูกปิดมาเป็นเวลานาน ให้อยู่ในสถานะ Not Running เพื่อคืนค่า RAM กลับมา >> ระบบจัดการให้เราเองจ้า
5. แอพพลิเคชั่นบางตัว เช่น เครื่องเล่นเพลง, GPS, VOIP, NewsStand รวมไปถึงแอพพลิเคชั่นประเภท Built-in เช่น อีเมล สามารถรันอยู่ในสถานะ Background ได้โดยไม่ถูกปิด ถ้าหากมีการใช้งานอยู่ และจะถูกเปลี่ยนเป็นสถานะ Suspended เมื่อไม่ได้ใช้งาน
6. แอพพลิเคชั่นบางประเภท เช่น ระบบ GPS หรือ Location Services ถึงแม้จะทำงานอยู่ในสถานะ Background แต่ก็มีสิทธิ์ทำให้แบตเตอรี่ลดฮวบๆ ได้เช่นกันครับ ฉะนั้น การปิดการใช้งานบริการต่างๆ เหล่านี้ ช่วยทำให้ลดการใช้พลังงานแบตเตอรี่ได้มากเลยทีเดียว

 

ขอขอบคุณที่มาของบทความ : macworld
---------------------------------------
เรียบเรียงโดย : techmoblog.com



Update : 05/01/2012

    Promotion มือถือ แนะนำ

iPhone Apple iPad iOS ios multitasking

ข่าวอัพเดทล่าสุด