It started with finding my Nexus One completely dead after coming out of a meeting at 1 PM on a weekday. While the battery in the Nexus One does not provide stellar life, it usually gets me through work days. After that day I had at least two other occurrences of finding my Nexus One dead, enough to start me on a quest to find out why. One possible cause could have been a bad program using a high amount of the CPU, so I installed Watchdog Lite to monitor the CPU but so far I only encountered one case, when I tried the Google Maps live wallpaper, that an app exceed the 40% threshold for alerts from Watchdog.
The data service indicator at the top of the screen on my Nexus One caught my eye. Watching it for a period of time it seemed to always indicate data transmission taking place even when I was not browsing the web. I do have Facebook and Twitter running and I turned off data synchronization in those two apps and still data kept transferring. Even turning off Google’s data synchronization had no affect on the data transmission. Something on my Nexus One was receiving or sending data constantly.
I then went to AppBrain.com, searched for network monitor apps, found and installed Network Monitor. While Network Monitor shows how much data is being uploaded and downloaded to the phone, it does not show you what is doing the data transmission. Network Monitor did show me that a huge amount of data, megabytes of it, where being uploaded from my phone. In fact, I was seeing more data being uploaded than downloaded, which I found to be a strange behavior.
My next step was to install the Battery Left widget, which shows the apps that are transmitting data. The widget is free, but if you don’t want to install a widget you can also see the same information by dialing the field code *#*#4636#*#* select the Battery History option, and change the display to Network Usage. What I found is that the Android System had by far transmitted the most data, and amongst the items that is included in the Android System is Account and Sync Settings, which I had turned off with no affect, Google Backup Transport, and Network Location, amongst others which you can see in the following picture.
I assume that Network Location involves sending the current location of the phone, and while that certainly frequently sends data, it doesn’t seem likely to me that it would account for the amount of data transfer that I have been seeing. The Google Backup Transport seemed to me be a likely culprit, and not knowing anything about it I did some searching on the Internet. First I came across a forum post with a complaint similar to mine that even shows log information pointing to backups. I don’t know how to access the Android log mentioned in the post, but I took the information as further evidence that I was on the right track. Fortunately, I have an unlimited data plan so I don’t have the same worries as the fellow who posted the complaint. While he seemed to think turning off background data and autosync fixed the problem, I also did not want to go that far and I had already turned off all account syncing and still saw the uploads occuring.
Next, I found an article titled “Complete Guide To Backing Up Your Android Phone” that provided me a key clue. In the third paragraph of the section titled Apps, the author writes, “Starting in Android 2.0, Google began doing cloud-based backups of the apps associated with a particular Google account.” Further in the paragraph the article says, “To activate this functionality, you have to make sure ‘Back up my settings” is checked in the Privacy settings before you switch devices.” Apparently, the setting in Android 2.x and higher that turns Android’s built-in backup capability on and off is in the Privacy settings.
I tapped Menu, Settings, Privacy, cleared the Back Up My Data check box and restarted my phone for good measure. While the change has just been made on my phone for the last hour, Network Monitor is showing that only 180 KB of data has been uploaded since I made the change. Now that I have made the change I will observe the battery life of my Nexus One to see whether it continues to drain faster than I expect, and I will also continue to use Network Monitor to observe how much data is being transmitted from my phone. Under normal use I expect to see more data downloaded than uploaded.
The consequence of changing the privacy setting is that my Nexus One is not being backed up. While I would rather that my phone be backed up, it can’t be at the price of the battery dieing midway through the day. It seems to me that something has gone wrong with Google’s backup service for Android. Perhaps my backup data has become corrupt, but I know of no way find that out. You will notice in the forum posting I reference above that the log has an error message suggesting that the backup failed. Can it be that during the process of backing up megabytes of data an error occurs and the backup starts all over? If that is the case, why is it constantly transferring tens and hundreds of megabytes of data rather than just transferring changes?
I am curious about whether anyone else is seeing this same behavior? I am going to try and get this information to Google with hopes that they can fix the backup process but in the mean time I am going to keep the back up turned off on my Nexus One.