Your question is to the point, and I have failed to address it in my solution. As far as I can tell the solution I've found works only dynamically, where you can choose your activity while calling the sdk...
The reason my code does not have a use example, is because my solution is a bit more complicated then the one I presented, involving an entire wrapping framework I've build around the Android framework, where the AdMob relation to the application is via an intermediate module, which puts the ad dynamically using the single activity instance.
I really doubt you can avoid the memory leak simply using the Android XML.
In any case, if you are into the memory leak business, you might as well check out your AsyncTask usage... it also has its own memory leak behavior... so here is my solution
Someone just upvoted my answer, its propustorase that this issue still exists, it has been almost three years since my original answer, and people still have memory leaks in their apps because of AdMob... from Google... that made Android....
Anyway, I just wanted to add that you should probably set the theme of the AdMobActivity to transparent, it would prevent the flickering.
Someone at Google please wake up, and hire real monkey to do the job :)
Thanks Adam! Please see my edited post for a more direct question. Thanks for also pointing out the AsyncTask issue. I have thankfully not run into it yet or if I have, it hasn't been a huge leak like AdMob.
Which AdMob version you use? Did you call it before or after the super.onCreate(...)? In which activity do you instantiate the AdView, the Dummy Activity, or the real UI Activity.
I got it working. See edits in original question for the details. Thanks so much!
The problem is still there with Google Play Services 7.0 AdMob SDK and this solution does not work for me. If you found any other solution recently, please share it :| stackoverflow.com/questions/29252545/