Should I downgrade?

So my little “test the latest Monogame/new dev box” project has reached a point where it has evolved into something releasable (which was kind of my intention), but there are a number of things I need to resolve:

First is the sporadic freeze issue that I first raised <a href=http://community.monogame.net/t/wp8-1-game-freezes-sporadically/1865">here. As with @Faic, causing the game to deactivate then reactivate does unfreeze the game, but this is not exactly a viable solution.

Second - and I may be wrong with this - I can’t seem to hook into some of the app lifecycle handling events in the latest version of Monogame like I could with v3.2 and Windows Phone 8. I’m assuming that the Game OnActivated/OnDeactivated/OnExiting are the equivalents of WP8’s PhoneApplicationService.Current.Activated/Deactivated/Closing, but I what about when the game is obscured? In WP8, I would hook into [Game].App.RootFrame.Obscured/Unobscured… do the Game methos overrides handle this as well?

I’ve also noticed that over time (playing for about 10 minutes), some of the sound playback seems to experience difficulties - some sounds start playing in a “scratchy” or distorted manner, albeit sporadically. Has anyone else experienced this, and if so, how did they overcome it? I’m using SoundEffect.Play to play my sounds, and they are .XNBs built by the Monogame Content Builder application then linked into the solution.

Not Monogame specific, but something someone might have already encountered - WP8.1 does away with IsolatedStorage and - again, as far as I know - forces an async file handling method on the developer (ApplicationData.Current.LocalFolder.GetFileAsync and FileIO.ReadTextAsync, etc). This is a complete pain in the arse: whereas originally, I would load my settings file then create my UI objects based on those loaded settings, I now have to muck about with all kinds of callbacks to ensure the UI refreshes once the settings are loaded. Has anyone found a synchronous alternative to this, or a way to force this to work synchronously?

Finally, does anyone have any experience of displaying adverts in a WP8.1 game, and can they advise how best to implement this?

On the whole, I’m finding this latest version f Monogame a very positive experience so far (from nothing to nearly release-ready game in less than two weeks), but these issues of freezing and scratchy sound, plus not being certain that all lifecycle events are being correctly handled (I’m not sure what changes there are between WP8 & 8.1) are blocking me from releasing.

I know that the first and most major issue (freezing) is a new thing for the Monogame team - if I had a clue where to start, I’d look into it myself! But with all these other issues as well, I’m thinking it would probably be simpler for me to downgrade to VS2012, WP8 and Monogame 3.2 in order to release… can anyone advise?

Cheers!

Not Monogame specific, but something someone might have already
encountered - WP8.1 does away with IsolatedStorage and - again, as far
as I know - forces an async file handling method on the developer
(ApplicationData.Current.LocalFolder.GetFileAsync and
FileIO.ReadTextAsync, etc). This is a complete pain in the arse: whereas
originally, I would load my settings file then create my UI objects
based on those loaded settings, I now have to muck about with all kinds
of callbacks to ensure the UI refreshes once the settings are loaded.
Has anyone found a synchronous alternative to this, or a way to force
this to work synchronously?

If it has a return value then AsyncMethod().Result gives you the result synchronously. If it has no return value then use AsyncMethod().Wait().

My IsolatedStorage implementation for Windows 8 should work for Windows Phone 8.1. I haven’t tried it myself, but the WinRT APIs should be similar.