I made a lot of testruns of about one hour to determine the effect of setting up Email Exchange clients on CPU usage and therefore battery life:
Starting point:
- Build Froyo.XWJPA
- Smallband I9000XXJPP
- Voodoo lagfix
- One Gmail account set up, syncing contacts, Gmail, Picassa, Agenda
- Tests run against two separate Exchange Server 2003 servers SP2
- CPU load determined with SystemPanel app
1. Installed Exchange account #1 without security policies. Email retrieval set to "Push".
- Email process used 0% CPU, system CPU floating around 3%
2. Set Exchange account #1 to retrieve email every hour
- Email process used 1,1% CPU, system CPU floating around 10%
3. Set Exchange account #1 back to "Push"
- Email process used 0% CPU, system CPU floating around 3%
4. Set Exchange account #1 to retrieve every 5 minutes
- Email process used 1,5% CPU, system CPU floating around 10%
4. Added Exchange Account #2 with security policy, Email retrieval set to "Push"
- - Email process used 0,5% CPU, system CPU floating around 10%
5. Set Exchange account #2 to retrieve email every hour
- Email process used 1,5% CPU, system CPU floating around 10%
So, what seem conclusions from this test:
1. One Exchange account set to `Push` doesn´t affect battery life much. 'Push' is generally considered the most battery effective.
2. One Exchange account set to some time interval does affect CPU considerably, therefore batterylife also. It's irrelevant what interval is set. The reason the total system CPU goes to around 10% seems to be that the process name ´system´ starts using several % CPU as soon as the email process does. Based on the experience that the email client is slow with an exchange account without a lagfix leads me to the conclusion the email app is performing large amounts of I/O in this setting. This link (comment 14) seems to confirm this. Experiences here (comment 15 & 16) are similar.
3. Adding another Exchange account with security policy enforced increases CPU, no matter at what interval this second account is set. This *could be related to the bug found on Motorola Droid that when the Maximum inactivity time out in the Activesync properties on the Exchange server are set to a higher value than the highest supported value on the phone, the email app keeps the phone in a wake lock.
So, i just have my exchange accounts set to Never. For one account, automatic retrieval is useless anyways because mail gets delivered to subfolders (which do not sync or get pushed automatically). Fot the other, i'll just have to open the email app every now and then and let it fetch mail at that moment.
This problem doesn't seem to be limited to the Galaxy S, Motorola Droid is mentioned also in above threads.
links:
http://code.google.com/p/android/issues/detail?id=9307&q=aosp%20email&colspec=ID%20Type%20Status%20Owner%20Summary%20Starshttp://code.google.com/p/android/issues/detail?id=5424