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
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
• 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>
Il Marketplace e Tango
DEMO
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
Windows Phone 7.5 Refresh

ANALIZZARE LE
PERFORMANCE
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
DEMO
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
DEMO
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
DEMO
Windows Phone 7.5 Refresh

LOCALIZZAZIONE
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
DEMO
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
DEMO
Grazie!

Matteo Pagani
Microsoft MVP

Software Engineer @ Funambol
Twitter: @qmatteoq
Blog: http://www.qmatteoq.com
Mail: info@qmatteoq.com

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à diWindows 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 SDK7.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 tipologiadi 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 devicedi 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>
  • 7.
  • 8.
  • 9.
    Qualche consiglio • Alposto 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
  • 10.
    Windows Phone 7.5Refresh ANALIZZARE LE PERFORMANCE
  • 11.
    Memory Helper • Unalibreria 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
  • 12.
  • 13.
    Performance Analysis • Tooldi 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
  • 15.
  • 16.
    Il Marketplace TestKit • 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
  • 17.
  • 18.
    Windows Phone 7.5Refresh LOCALIZZAZIONE
  • 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
  • 21.
  • 22.
    Localizzare tile etitolo • 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 etitolo • Modifica manuale del file di manifest • Occorre sostituire i nodi Title con i seguenti codici: – Titolo: @AppResLib.dll,-100 – Tile: @AppResLib.dll,-200
  • 24.
  • 25.
    Grazie! Matteo Pagani Microsoft MVP SoftwareEngineer @ Funambol Twitter: @qmatteoq Blog: http://www.qmatteoq.com Mail: info@qmatteoq.com