Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimizing windows phone apps


Published on

Published in: Technology
  • Be the first to comment

Optimizing windows phone apps

  1. 1. Optimizing YourWindows PhoneMango ApplicationsJinho.Seo@microsoft.comMicrosoft Korea
  2. 2. Application Certification Requirements 1. Application Policies 2. Content Policies 3. Application Submission Requirements 4. Technical Certification Requirements 5. Additional Requirements for Specific Application Types
  3. 3. Submission and Certification Process
  4. 4. Application Submission Requirements 4.1 Installation Package Validation 4.2 Application Code Validation 4.3 Phone Capabilities Detection 4.4 Language Validation
  5. 5. Technical Certification Requirements 5.1 Application Reliability 5.2 Performance and Resource Management 5.3 Phone Functionality 5.4 Security 5.5 Content Validation
  6. 6. Additional Requirements for SpecificApplication Types 6.1 Location Aware Application 6.2 Push Notifications Application 6.3 Applications Running under a Locked Screen 6.4 Music + Videos Hub Application 6.6 Applications That Extend the Picture Viewer 6.7 Applications That Extend the Share Picker 6.8 Applications That Extend the Pictures Hub 6.9 Applications That Play or Stream Background Audio 6.10 Applications That Use Background Transfer
  7. 7. Mango Improvements 1. General Runtime Improvements Examples:  Faster, more responsive scrolling  Lower memory footprint  Better video playback 2. Improved Default Behaviors For 7.1 Apps Examples:  Fast-App-Switching  Better XAML Parser 3. New Optional Behaviors For 7.1 Apps
  8. 8. 32 Bits-Per-Pixel Rendering 7.0 supports only 16 bpp rendering  banding in gradients In Mango the default is still 16 bpp Apps can opt-into 32 bpp in the manifest Recommended if your app wants to show  Photos  Designs with gradients Video apps get opt’ed in automatically
  9. 9. Demo - 32 bpp vs. 16bpp
  10. 10. Background Image Decoding In 7.0 image decode happens on UI thread May result in stuttering, non-responsive UI 7.1 apps can opt-into background decode <Image x:Name="myBackgroundDecodedImage"> <Image.Source> <BitmapImage UriSource="" CreateOptions="BackgroundCreation"/> </Image.Source> </Image>
  11. 11. Demo - ImageDecoding
  12. 12. Media and Objects Supported Media Codecs for Windows Phone  us/library/ff462087(v=vs.92).aspx  Set Build Action to Content for Media Hiding and Display Objects  Visibility vs. Opacity User Input  Use Manipulation Events us/library/ff426933(VS.95).aspx
  13. 13. Progress Bar, WebSerivces Use PerformanceProgressBar instead of ProgressBar Use HttpWebRequest instead of WebClient Application Startup Understanding Threads Identifying Performance Issues for Graphics- Intensive Applications us/library/ff967560(v=vs.92).aspx
  14. 14. Memory Testing First: Design your app with memory in mind Monitor your memory usage Test with real word data Consider monitoring your “heavy” objects  Page instances  UserControl instances  Data objects that participate in binding Tiny UI leak can cause entire visual tree to be leaked Use the 7.1 Profiling Tools
  15. 15. Demo – MemoryTesting
  16. 16. Control Your App With Sockets Use socket APIs to connect to your desktop computer This can be useful for testing/debugging scenarios:  Monitoring app metrics (such as memory/heap objects)  Logging messages/results  Controlling the app workflow
  17. 17. End-To-End Testing Navigating through the entire app State and visuals are correct No leaks and no crashes Investing in an automated script may pay off  Do the math  Consider your test matrix  Think about stability (memory and stress testing)  Write code with testing in mind
  18. 18. Demo – End-To-EndTesting
  19. 19. Windows Phone MarketplaceTest Kit Objectives : Protect to fail submission process us/library/hh394032(v=vs.92).aspx