Ana makine, belirli bir görev için görüntülenecek şablon sayısını en fazla beşle sınırlar. Bu şablonlardan sonuncusu aşağıdaki türlerden biri olmalıdır:
NavigationTemplatePaneTemplateMessageTemplateMediaPlaybackTemplateSignInTemplateLongMessageTemplate
Bu sınırın, yığındaki Screen örneklerinin sayısına değil, şablon sayısına uygulandığını unutmayın. Örneğin, bir uygulama A ekranındayken iki şablon gönderip B ekranını gönderirse artık üç şablon daha gönderebilir.
Alternatif olarak, her ekran tek bir şablon gönderecek şekilde yapılandırılmışsa uygulama, ScreenManager yığına beş ekran örneği gönderebilir.
Bu kısıtlamalarla ilgili özel durumlar vardır: şablon yenileme, geri alma ve sıfırlama işlemleri.
Şablon yenilemeleri
Belirli içerik güncellemeleri, şablon sınırına dahil edilmez. Genel olarak, bir uygulama aynı türde olan ve önceki şablonla aynı ana içeriği içeren yeni bir şablon gönderirse bu yeni şablon kotaya dahil edilmez. Örneğin, ListTemplate içindeki bir satırın açma/kapatma durumunu güncellemek kotaya dahil edilmez. Ne tür içerik güncellemelerinin yenileme olarak kabul edilebileceği hakkında daha fazla bilgi edinmek için tek tek şablonların dokümanlarına bakın.
Geri işlemleri
Bir görevde alt akışları etkinleştirmek için ana makine, bir uygulamanın ScreenManager yığınından bir Screen açtığını algılar ve kalan kotayı, uygulamanın geriye doğru gittiği şablon sayısına göre günceller.
Örneğin, uygulama A ekranındayken iki şablon gönderip B ekranını zorlayarak iki şablon daha gönderirse uygulamanın bir kotası kalır. Uygulama daha sonra A ekranına geri dönerse iki şablon geriye gittiği için ana makine kotayı üçe sıfırlar.
Bir ekrana geri dönüldüğünde uygulamanın, bu ekran tarafından en son gönderilen şablonla aynı türde bir şablon göndermesi gerektiğini unutmayın. Diğer şablon türlerinin gönderilmesi hataya neden olur. Ancak, geri işlem sırasında tür aynı kaldığı sürece bir uygulama, kotayı etkilemeden şablonun içeriğini serbestçe değiştirebilir.
Sıfırlama işlemleri
Bazı şablonlar, bir görevin sonunu belirten özel semantiğe sahiptir. Örneğin, NavigationTemplate, ekranda kalması ve kullanıcı için adım adım yeni talimatlarla yenilenmesi beklenen bir görünümdür.
Bir görev bu şablonlardan birine ulaştığında, ana makine şablon kotasını sıfırlar ve söz konusu şablonu yeni bir görevin ilk adımıymış gibi ele alır. Bu izin, uygulamanın yeni bir görev başlatmasına olanak tanır. Daha fazla bilgi edinmek için hangi şablonların ana makinede sıfırlamayı tetiklediğini öğrenmek üzere tek tek şablonların belgelerine bakın.
Düzenleyen, uygulamayı başlatma isteğini bir bildirim işleminden veya başlatıcıdan alırsa kota da sıfırlanır. Bu mekanizma, bir uygulamanın bildirimlerden yeni bir görev akışı başlatmasına olanak tanır. Bu durum, uygulama zaten bağlı ve ön planda olsa bile geçerlidir.