Dlouhy prechod mezi strankami

Vše okolo vývoje aplikací pro platformy Windows Phone a Windows 10 Mobile
Odpovědět
rybar73
přispěvatel
přispěvatel
Příspěvky: 134
Registrován: úte zář 22, 2009 9:53
Zařízení: Samsung B7610, Samsung Omnia 7
Bydliště: Kopřivnice

Dlouhy prechod mezi strankami

Příspěvek od rybar73 »

Zdravim,
posledni dobou se snazim optimalizovat svou aplikaci, aby hlavne nacitani a prechody stranek behaly co nejrychleji. Vsude na netu jsem se docetl ruzne postupy, ale prece jen porad to neni ono. Chtel bych se teda zeptat vas, co pouzivate za postupy.
Muj problem je predevsim pravdepodobne v Unloadu predchozi stranky. Mam na hlavni strance pomerne dost objektu, ktere maji i sve vlastni animace a pokud vim, tak prechod na hlavni stranku je v poradi.
1.Konstruktor
2.OnNavigateTo (nebo From)
3.parsovani XAML - tedy vykresleni ???
4.event Loaded (az zde nastavuju DataContext)
5. a zde mi nastava prodleva kolem 1-3s cerne obrzovky se zmenenym jen AppBarem, kdy se zacinaji volat Unload.
Suma sumarum prechod ze stranky 1 na stranu 2 klidne trva i 4s skarede cerne obrazovky, kdy od bodu 1 do 5 je cas do 2s. Strana 2 pak obsahuje Panoramu s 5 Itemy na kazdem je listbox.

Bohuzel WP nepodporuje cachovani stranky, ktere by snad mohlo problem vyresit a ani reseni pomoci stridani UserControl namisto stranek se mi nezda prilis elegantni. A protoze ani po performance analyze nejsem o moc chytrejsi, rozhodl jsem se zeptat vas :-)
Takze jake mate zkusenosti s timto problemem, nebo muzete mi doporucit jak tento problem vyresit co nejefektivneji?
steelspace
smartmaniak
smartmaniak
Příspěvky: 1094
Registrován: stř lis 24, 2010 22:29
Zařízení: L920, L930, L950 XL, iPhone 7 Plus
Bydliště: Líbeznice

Dlouhy prechod mezi strankami

Příspěvek od steelspace »

Já jsem takový problém nikdy neměl. Obecně by se v kódu vykonávaném v UI vlákně nemělo vykonávat nic náročného nebo dlouhotrvajícího. Chce to minimalizovat počet a složitost objektů na stránce, používat správně kontejnery (grid s rows/column místo stackpanelů), používat virtualizované kontrolky a případně natahovat kontrolky/data dynamicky až v momentě zobrazení nebo zpožděně. Kód vykonávající něco náročnějšího je třeba vykonávat v BackgroundWorkeru, aby nebrzdil UI.
Animace je dobré zastavit ve chvíli, kdy nejsou vidět (třeba v panoramě nebo pivotu).
Odpovědět

Zpět na „Programování a vývoj“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 53 hostů