I start the download of all inbox items and stop the moment I get something that is older than the newest entry that I have. Regarding contacts: yes, I get the contacts from the regular Google contacts - because of a few reasons: 1. the regular Google contacts API actually is an API unlike GV. 2. I can ask the server for all updates since a given time. Much better than what I'm doing for the Inbox items. gcontacts api also provides what has been deleted 3. All this means much less processing on my side, implying less CPU time, implying more battery life.