Effectively caching data uploads in Android
<p>I have implemented a queue service in Android that will change states based on queue and wifi/data connectivity events.</p>

<p>I queue transactions to be posted to a remote url.  If the device has a data or wifi connection, it will iterate the queue and post data to the url until the queue is empty, or there is a disconnect event.</p>

<p>I can login to my app, enable airplane mode, generate data, turn airplane mode off, and the transaction are posted.  No slow down, even with thousands of transactions.  (I was trying to pish it a bit)</p>

<p>Enter: low reception!
My app slows down enormously when the 3G reception is low. (Yes, all uploading happens off the ui thread.)  It seems that the cause of this slow down has to do with the post to the server taking a very long time to happen and sometimes just failing.</p>

<p>My question is, how can I solve this?  Check for signal quality?  Poll a known address?  How do other apps, such as Gmail solve this?  This must be a common scenario!</p>
