ข้อจำกัดของเทมเพลต

โฮสต์จำกัดจำนวนเทมเพลตที่จะแสดงสำหรับงานหนึ่งๆ ไว้ที่ 5 รายการ โดยเทมเพลตสุดท้ายต้องเป็นประเภทใดประเภทหนึ่งต่อไปนี้

โปรดทราบว่าขีดจำกัดนี้มีผลกับจำนวนเทมเพลต ไม่ใช่จำนวนอินสแตนซ์Screenในสแต็ก เช่น หากแอปส่งเทมเพลต 2 รายการ ขณะอยู่ในหน้าจอ A แล้วพุชหน้าจอ B ตอนนี้แอปจะส่งเทมเพลตได้อีก 3 รายการ

หรือหากแต่ละหน้าจอมีโครงสร้างเพื่อส่งเทมเพลตเดียว แอปจะพุชอินสแตนซ์หน้าจอ 5 รายการไปยังสแต็ก ScreenManager ได้

ข้อจำกัดเหล่านี้มีข้อยกเว้นในกรณีพิเศษ ได้แก่ การรีเฟรชเทมเพลตและการดำเนินการย้อนกลับและรีเซ็ต

การรีเฟรชเทมเพลต

การอัปเดตเนื้อหาบางอย่างจะไม่นับรวมในขีดจำกัดของเทมเพลต โดยทั่วไป หากแอปพุชเทมเพลตใหม่ซึ่งเป็นประเภทเดียวกันและมี เนื้อหาหลักเดียวกันกับเทมเพลตก่อนหน้า ระบบจะไม่นับเทมเพลตใหม่ รวมในโควต้า เช่น การอัปเดตสถานะเปิด/ปิดของแถวใน ListTemplate จะไม่นับรวมในโควต้า โปรดดูเอกสารประกอบของ เทมเพลตแต่ละรายการเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทการอัปเดตเนื้อหาที่ ถือเป็นการรีเฟรช

การดำเนินการย้อนกลับ

หากต้องการเปิดใช้โฟลว์ย่อยภายในงาน โฮสต์จะตรวจหาเมื่อแอปแสดงป๊อปอัป Screen จากสแต็ก ScreenManager และอัปเดตโควต้าที่เหลือตาม จำนวนเทมเพลตที่แอปย้อนกลับ

ตัวอย่างเช่น หากแอปส่งเทมเพลต 2 รายการขณะอยู่ในหน้าจอ A จากนั้นพุช หน้าจอ B และส่งเทมเพลตอีก 2 รายการ แอปจะมีโควต้าเหลือ 1 รายการ หาก จากนั้นแอปจะกลับไปที่หน้าจอ ก. อีกครั้ง โฮสต์จะรีเซ็ตโควต้าเป็น 3 เนื่องจาก แอปย้อนกลับไป 2 เทมเพลต

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

การดำเนินการรีเซ็ต

เทมเพลตบางรายการมีความหมายพิเศษที่บ่งบอกถึงการสิ้นสุดของงาน ตัวอย่างเช่น NavigationTemplate คือมุมมองที่คาดว่าจะยังคงอยู่บนหน้าจอและได้รับการรีเฟรชด้วยเส้นทางแบบเลี้ยวต่อเลี้ยวใหม่สำหรับผู้ใช้

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

หากโฮสต์ได้รับความตั้งใจที่จะเริ่มแอปจากการดำเนินการในการแจ้งเตือนหรือ จากตัวเรียกใช้ ระบบจะรีเซ็ตโควต้าด้วย กลไกนี้ช่วยให้แอป เริ่มโฟลว์งานใหม่จากการแจ้งเตือนได้ และยังคงใช้ได้แม้ว่าแอปจะ ผูกไว้และอยู่ในเบื้องหน้าแล้วก็ตาม