My main quibble with Android is that since everything is tied to the activities it is impossible to build an MVC style app. You are better off using the NDK or an engine. Then you can build your software correctly.
> Activity life cycling is actually impossible. There are certain actions the OS takes that will cause crashes no matter how well architected the app is.
Sadly, I have a half dozen different ways activities have found to explode themselves. It makes me sad!
Also, I'd imagine video ads are also quite memory intensive, so if a low-RAM device is playing one I wouldn't be surprised if Android has to kill some processes (like your activity that was sent to the background) to make space.
Perhaps you should look into what these video ads are doing and what sort of resources they eat up?