Skip to content
wpdev

.NET / C#

Windows Phone 8

Storage bug in MediaLibrary.SavePicture

2013-05-26
By: Kevin Gosse
On: May 26, 2013
Tagged: .NET, C#, Windows Phone 7, Windows Phone 8, wpdev

I’ve received many reports lately of users complaining of abnormal storage usage from one of my apps, Imageboard Browser.The application was in some cases storing hundreds of megabytes! I thought at first that it was just the “other storage” issue, but I did some further investigation just in case. After some trial and error and a bit of luck, I’ve discovered that the bug lies in the methods MediaLibrary.SavePicture and MediaLibrary.SavePictureToCameraRoll. As their name indicate, they are used to save a picture to the phone’s picture hub, and they do their job pretty well. Except that ever time you use them, a copy of yourRead More →

Memory leak with BitmapImage

2013-02-17
By: Kevin Gosse
On: February 17, 2013
Tagged: .NET, C#, Memory, profiling, Silverlight, Windows Phone 7, Windows Phone 8, wpdev

There’s a memory leak that has been bothering me for a while in my Imageboard Browser app. The scenario is simple: a slideshow feature, where a new picture is loaded from an url every few seconds. After a while, the app crashes with an OutOfMemory exception. I’ve never been able to find the source of the leak, so I settled for a dirty workaround consisting in loading a fake picture in the BitmapImage instance to force it to release the memory: It fixed the issue, but I didn’t dig much further. However, over the last few weeks I’ve seen many similar leaks reported on StackOverflow,Read More →

Debugging and fixing a bug in Windows Phone sync tool

2012-12-20
By: Kevin Gosse
On: December 20, 2012
Tagged: .NET, C#, Visual Studio, Windows Phone 8

Since a few days, I had this annoying bug in the application used to sync my Windows Phone with my desktop computer: every time I tried to synchronize podcasts, the application just crashed. After a while, I decided it would be a nice debugging exercise to dig into the issue myself. First step: reproducing the issue. It was easy enough, the app automatically crashed when clicking the “Sync button”. And sure enough, this time again, it did crash: I suspected that the application was written in .NET (most Windows Phone related apps are), so I clicked on Debug and selected Visual Studio 2012. VS directlyRead More →

Programmatically terminate a Silverlight app

2012-10-31
By: Kevin Gosse
On: October 31, 2012
Tagged: .NET, C#, Silverlight, Windows Phone 8, wpdev

Exiting programmatically as always been an issue for Silverlight applications on Windows Phone 7. A few workaround existed, from throwing an exception to referencing a XNA assembly and using the ‘Game.Exit()’ method. Windows Phone 8 brings a new API, that can be used from Silverlight applications: ‘Application.Terminate()’ Using it is really straightforward: A word of advice though: calling this method will immediately kill your app. It means that the ‘Application.Closing’ event won’t be triggered, and the contents of the ‘IsolatedStorageSettings.ApplicationSettings’ dictionary won’t be automatically saved to the isolated storage. Therefore, if needed, don’t forget to save that dictionary before calling the ‘Terminate’ method:Read More →

Programmatically change the lock screen picture

2012-10-30
By: Kevin Gosse
On: October 30, 2012
Tagged: .NET, C#, Silverlight, Windows Phone 8, wpdev

Windows Phone 8 introduces a new API to allow apps to change the background picture displayed on the lock screen. The displayed picture can be picked from the application’s resources or from the isolated storage. To use this feature, you need first to declare it in the application’s manifest. Just add the following extension in the “Extensions” node: If you don’t already have an “Extensions” node in the manifest, you’ll have to add it at the same level as the “Capabilities” and “Tasks” nodes: Once the manifest is updated, there’s one remaining step before being able to change the wallpaper: the application must first askRead More →

Recent Posts

  • Uncovering a bug in Attribute.GetHashCode
  • [UWP] NavigationService with back button handler priority
  • [UWP] Bandwidth adaptive image control
  • [uwp] Animation orchestration using Caliburn.Micro coroutines
  • Should I await the last call in a method

Archives

  • March 2017 (1)
  • February 2016 (1)
  • January 2016 (1)
  • October 2015 (1)
  • September 2015 (2)
  • August 2015 (1)
  • May 2015 (1)
  • April 2015 (1)
  • March 2015 (3)
  • October 2014 (1)
  • September 2014 (1)
  • November 2013 (1)
  • August 2013 (1)
  • May 2013 (1)
  • February 2013 (1)
  • December 2012 (1)
  • October 2012 (2)
  • July 2012 (1)
  • May 2012 (1)
  • February 2012 (1)
  • January 2012 (4)

Follow me on Twitter

My Tweets

Designed using Dispatch. Powered by WordPress.