แอพ iOS เปิดจากสถานะสลีปจริงอย่างไร


2

ฉันสังเกตว่าเมื่อฉันเปิดแอพจาก App Switcher มันแสดงให้ฉันเห็นภาพหน้าจอของสถานะล่าสุดของแอพแทนการแสดงให้ฉันเห็น จริง แอป

ใครสามารถชี้แจงกระบวนการเปิดแอพจากพื้นหลังได้บ้าง

คำตอบ:


2

เนื่องจากการออกจากแอปจริง ๆ แล้วใช้พลังงานแบตเตอรี่บางส่วนในกระบวนการดำเนินการ (เช่นการล้างออกจาก RAM ฯลฯ ) จากนั้นอีกครั้งในภายหลังเมื่อเปิดตัวแอปอีกครั้ง iOS ได้รับการออกแบบมาเพื่อให้เปิดแอปได้โดยปกติ .

ตอนนี้แม้ว่าพวกเขาจะเปิดอยู่พวกเขาแค่นั่งอยู่ในโหมดระงับชั่วคราวที่ไม่ได้ใช้พลังงานแบตเตอรี่ แต่อย่างใด ดังนั้นในขณะที่แอพยังโหลดในแรมและถ่าย ช่องว่าง มันไม่ได้ทำอะไรเลย - แค่นอนเฉยๆ

ด้วยเหตุนี้คุณต้องออกจากแอปหากทำงานไม่ถูกต้อง (เช่นแอปหยุดทำงานแสดงว่าแอปไม่ทำงานอย่างถูกต้อง ฯลฯ )

ดังนั้นโดยปกติแล้วแอพที่มีรายชื่ออยู่ใน App Switcher นั้นไม่จำเป็น วิ่ง - ในความเป็นจริงพวกเขาส่วนใหญ่เป็น ไม่ได้ทำงาน เลย แอพส่วนใหญ่ใน App Switcher อยู่ใน รัฐที่ถูกระงับ - ซึ่งหมายความว่าพวกเขาไม่ได้: ปรากฏบนหน้าจอรันโค้ดใช้ CPU หรือ GPU หรือใช้แบตเตอรี่ อย่างไรก็ตามพวกเขา เป็น ยังคงอาศัยอยู่ในหน่วยความจำ จนกระทั่ง พวกเขาจะถูกลบออก (ถ้าจำเป็น) โดยระบบเพื่อเพิ่มหน่วยความจำ

ตอนนี้สิ่งที่เกิดขึ้นที่นี่คือหน้าจอสุดท้ายที่แสดงโดยแอพส่วนใหญ่คือสิ่งที่เก็บไว้ในสถานะระงับนี้ ดังนั้น ภาพหน้าจอ คุณเห็นไม่ได้เป็นภาพหน้าจอ แต่อย่างใด แต่เป็นรัฐที่รู้จักล่าสุดที่แสดงโดยแอพก่อนหน้านี้ ระงับ .

ดูการอ้างอิงด้านล่างสำหรับข้อมูลเพิ่มเติม:

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

แหล่ง : ดู ตารางที่ 2-3 ในแอปเปิ้ล คู่มือการเขียนโปรแกรมแอพสำหรับ iOS: Execution States สำหรับแอพ .

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