Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Considering the PCWorld review that came out in March:

Free Android Apps Packed with Ads are Major Battery Drains

...Researchers from Purdue University in collaboration with Microsoft claim that third-party advertising in free smartphone apps can be responsible for as much as 65 percent to 75 percent of an app's energy consumption...

Is there a best practice for integrating advert support into mobile applications, so as to not drain user battery too much?

...When you fire up Angry Birds on your Android phone, the researchers found that the core gaming component only consumes about 18 percent of total app energy. The biggest battery suck comes from the software powering third-party ads and analytics accounting for 45 percent of total app energy, according to the study...

Has anyone invoked better ways of keeping away from the "3G Tail", as the report puts it? Is it better/possible to download a large set of adverts that are cached for a few hours, and using them to populate your ad space, to avoid constant use of the Wi-Fi/3G radios?

Are there any best practices for the inclusion of adverts in mobile apps?

share|improve this question
It probably isn't your code that has these problems, but rather the component that the ad provider gave you...which you won't be able to change. – Brian Jul 3 '12 at 17:44

I know that this could sound very time-intensive, but you could think about:

  • write a personal ad manager, aimed to this particular objective (energy consumption)
  • profile every existing ad component for energy consumption

And I really think this is not going to be wasted time.

You just have to remember that every different OS version could have a different energy policy.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.