Apple historically argued that Flash was power-hungry, which made it inappropriate for use on mobile devices.

I always thought that was just bluster excusing Apple's exclusion of Flash support from their mobile devices.

But now I see that Adobe acknowledges that Flash is a pig. Why is it a pig? Are there bad programming approaches (that can be explained in layman's terms) that make it so power-hungry?

  • Probably because it was designed to run on desktop? Have you tried running any desktop applications on your iPhone? – surfasb Nov 11 '11 at 21:37
  • @surfasb Running Flash on laptops drains their batteries too. – ZippyV Nov 12 '11 at 0:05
  • See "Why does flash video consume so much CPU?". – JdeBP Nov 12 '11 at 0:56
  • @ZippyV: My point, exactly. – surfasb Nov 12 '11 at 2:50

Flash (at least, until recently) typically does not support simple forms of hardware acceleration, which means that all of its calculations (graphical and otherwise) are done entirely through the device's CPU. Without anything else offsetting the work, this means that the main CPU (one of the most power hungry devices) will constantly be running at high loads, eating battery life at a significant rate.


I don't think Adobe acknowledged that flash was a pig (I didn't see that written anywhere), only that moving to emphasize HTML5 for mobile was a better business decision given where the market is now so I don't agree with that part of your question.

Since HTML5 continues to evolve, one has to know that the handwriting was eventually on the wall for flash anyway as a standards-based and natively supported in newer browsers solution should win-out over a 3rd party plug-in in the long run. Adobe is just taking the first step in that direction now with mobile. Microsoft is rumored to be about to do the same thing with Silverlight for largely the same reasons.

I think Apple's main beef about power usage was in playing video. Apple's first iPhone was highly optimized (including hardware optimization) for playing video efficiently. Flash was a general purpose engine that was not optimized for Apple's hardware so it wasn't nearly as power efficient when playing video. Since Apple was trying to make the original iPhone a device that you could watch a full length movie on, this was very important to Apple.

I'm sure this was a solvable problem for flash (to optimize it for Apple's hardware) if the parties wanted to do that, but for whatever reason, Job's decided he didn't want to go that way.


Mark Russinovich (from Microsoft) said in a PDC talk that certain 3th party applications increase their timer frequency which is the reason why battery performance goes down the drain.


(Skips automatically to 50:50)

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