I can imagine cases where setting the stage quality to what it already is, might not do anything. On deactivate I do:
stage.quality = "low";
and on activate:
stage.quality = "medium";
Now, if you're entirely using Stage3D you can get away with a stage quality of "low", so you could do the reverse of what I do.
This was the answer I found in the old posts - but it didn't work for me - only adding and removing an object fixed the issue.
The post you linked to did a stage.quality = stage.quality, which is different to the way I do it.
Then again, I'm doing a lot of display list things, so that might be why it works for me.
Gotcha.. Yes, I tried both. Follow the link in that post there's also mention of doing it the way you suggested. We actually have a custom bootstrap - in there we start and stop Starling from an activate/deactivate. I have your solution for setting the quality and then reseting it in there, just in case this was somehow device specific (we're testing on a low end phone). We actually kick the events into the framework rather than adding a listener directly in the Context. A quarter second of black still isn't optimal.. but as long as there are workarounds.