Windows Phone 7.5 Refresh:
performance e localizzazione
Matteo PaganiMicrosoft MVP
Software Engineer @ FunambolTwitter: @qmatteoqBlog: http://www.qmatteoq.comMail: [email protected]
Agenda
• Le novità di Windows Phone 7.5 Refresh
• Analizzare le performance• Localizzare le applicazioni
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
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
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
Escludere i device di fascia bassa
<Requirements> <Requirement Name="ID_REQ_MEMORY_90" /> </Requirements>
• Nuova dichiarazione nel file di manifest
• I possessori di un device economico non potranno scaricare dal Marketplace l’applicazione
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
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
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
Performance Analysis
• Frame rate (FPS)• CPU• Memoria• Utilizzo degli storyboard• Caricamento di immagini• Eventi del Garbage Collector
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
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.)
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
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
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
Grazie!
Matteo PaganiMicrosoft MVP
Software Engineer @ FunambolTwitter: @qmatteoqBlog: http://www.qmatteoq.comMail: [email protected]