Deep multitasking in Windows Phone Codename "Mango"
Windows Phone 7.5 Refresh: Performance e localizzazione
1. Windows Phone
7.5 Refresh:
performance e
localizzazione
Matteo Pagani
Microsoft MVP
Software Engineer @ Funambol
Twitter: @qmatteoq
Blog: http://www.qmatteoq.com
Mail: info@qmatteoq.com
2. Agenda
• Le novità di Windows Phone 7.5 Refresh
• Analizzare le performance
• Localizzare le applicazioni
3. Le novità di Windows Phone 7.5
Refresh
• Supporto ai processori da 800 MHz
• Disponibilità di 256 MB di RAM
• Niente supporto ai background agents
periodici
• Limite di 90 MB di memoria per singola
applicazione
4. Windows Phone SDK 7.1.1
• Nuovo emulatore che simula la presenza
di 256 MB di RAM
• Compatibile con Windows 8
• Si installa sopra la versione 7.1 dell’SDK
• http://s.qmatteoq.com/sdk711
5. Determinare la tipologia di device
• La proprietà
ApplicationWorkingSetLimit della classe
DeviceExtendedProperties restituisce la
massima quantità di memoria utilizzabile
dall’applicazione
• Se non esiste o è superiore a 94371840, il
device è dotato di più di 256 MB di RAM
6. Escludere i device di fascia bassa
• Nuova dichiarazione nel file di manifest
• I possessori di un device economico non
potranno scaricare dal Marketplace
l’applicazione
<Requirements>
<Requirement Name="ID_REQ_MEMORY_90" />
</Requirements>
9. Qualche consiglio
• Al posto dei controlli WebBrowser e
BingMap, quando possibile, utilizzare i
rispettivi launcher
• Limitare il numero di elementi mostrati in
una ListBox oppure ricorrere alla
virtualizzazione dei dati
11. Memory Helper
• Una libreria di terze parti disponibile su
Codeplex e NuGet
• Permette di includere un contatore che
mostra il consumo di memoria in tempo
reale
• http://s.qmatteoq.com/MemoryHelper
13. Performance Analysis
• Tool di analisi delle performance introdotto
con la versione 7.1 dell’SDK
• Attivabile dal menu Debug di Visual
Studio
• Da utilizzare con un device reale per
ottenere risultati affidabili
14. Performance Analysis
• Frame rate (FPS)
• CPU
• Memoria
• Utilizzo degli storyboard
• Caricamento di immagini
• Eventi del Garbage Collector
16. Il Marketplace Test Kit
• Simula i test automatici effettuati durante
la certificazione
• Permette di misurare la quantità di
memoria utilizzata
• Da utilizzare con un device reale per
risultati affidabili
19. Supportare più lingue
• Localizzazione basata sull’utilizzo dei file
.resx
• Un file .resx per ogni lingua supportata
• Formato del file: AppResources.xx-
yy.resx
• xx-yy rappresenta il culture code (es. it-IT,
en-US, ecc.)
20. Supportare più lingue
• Occorre modificare il file di progetto con
un editor di testo
• Si deve aggiungere nel nodo
<SupportedCultures> il culture code
delle lingue supportate
22. Localizzare tile e titolo
• Procedura piuttosto complessa e contorta
• Occorre creare delle DLL in codice nativo,
una per ogni lingua supportata
• WP7 Localize è un tool per automatizzare
il processo
• http://s.qmatteoq.com/WP7Localize
23. Localizzare tile e titolo
• Modifica manuale del file di manifest
• Occorre sostituire i nodi Title con i
seguenti codici:
– Titolo: @AppResLib.dll,-100
– Tile: @AppResLib.dll,-200