Optimizing windows phone apps

3,221 views
3,169 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,221
On SlideShare
0
From Embeds
0
Number of Embeds
2,368
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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 Processhttp://msdn.microsoft.com/en-us/library/hh184843(v=vs.92).aspx
  4. 4. Application Submission Requirements 4.1 Installation Package Validation 4.2 Application Code Validation 4.3 Phone Capabilities Detection 4.4 Language Validationhttp://msdn.microsoft.com/en-us/library/hh184844(v=vs.92).aspx
  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 Validationhttp://msdn.microsoft.com/en-us/library/hh184840(v=vs.92).aspx
  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 Transferhttp://msdn.microsoft.com/en-us/library/hh184838(v=vs.92).aspx
  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="http://www.foo.com/bar.jpg" CreateOptions="BackgroundCreation"/> </Image.Source> </Image>
  11. 11. Demo - ImageDecodinghttp://msdn.microsoft.com/en-us/library/ff967560(v=vs.92).aspx
  12. 12. Media and Objects Supported Media Codecs for Windows Phone  http://msdn.microsoft.com/en- 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 http://msdn.microsoft.com/en- 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 http://msdn.microsoft.com/en- 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 http://msdn.microsoft.com/en- us/library/hh394032(v=vs.92).aspx

×