Resuming game after switching between apps causes massive pause

I have a game written in Monogame/Xamarin. If I hit the home key or switch between the game and another app, then return to the game, the screen remains blank (massive pause) for several seconds before it comes up and continues.

Note that this does NOT happen if you lock/unlock the device - doing that brings back the game instantly (and is the behaviour I would expect when hitting the home key/switching between apps, but doesn’t).

All other related issues in the forums seems to relate to textures being lost or being black blocks or whatever - everything is fine with my game (all graphics are there) - my problem is the massive lag when resuming after switching between it and another app.

This, clearly, is an unacceptable user experience. Running through the log it seems to make a call to DestroyFrameBuffer, SurfaceDestroyed, SurfaceCreated, SurfaceChanged, then it reloads the graphics content <= this is the bit that seems to take several seconds.

Over on the Xamarin forums (see here: https://forums.xamarin.com/discussion/comment/60913#Comment_60913) Dean has come up with a fix for AndroidGameView that removes the need to destroy the Graphics Context when the app is paused (and, hence, remove the need to reload the graphics content upon resuming) - he mentioned that Monogame should be changed to do the same thing.

Can anyone shed any light on this? I’m waiting to release this game and I will not do that until this issue is fixed as it looks totally amateurish and unprofessional. I fail to see how other games (e.g Angry Birds/Candy Crush etc.) can switch between apps and it is instantaneous yet with Monogame we have this issue of internally reloading textures which takes eons of processing time!

Does the develop branch have any updates for this?

Many thanks, Ian.

Please check this issue on github for updates regarding the fast resume: