As a (relatively) new Android owner with a Nexus S as my primary device, I've found that there is much to like about the Android ecosystem as a whole, especially the deep integration of Google services on my device, the built-in turn-by-turn navigation, and the Android user interface with its widgets and live wallpaper. But on the flip side, there are struggles here that I never had to deal with back when I was an iPhone user. For example, as I've mentioned before, I'm constantly concerned with battery life (Juice Defender is now on deck to help out).

Another issue that has come up recently: running out of space, apparently a common Android complaint by the look of the search results on this topic. So how do you deal? I've come across a few tips that have worked for me, and I've shared them below.

You may wonder how you run out of space on a device that has an SD card that can be filled with Gigs of data? Well, while that's true for many Android phones, the Nexus S doesn't actually have a removable SD card - it has onboard USB storage, which effectively functions the same way. But because it's not removable, you could, in theory, fill it out.

That, however, is not my issue.

The problem with storage issues on Android has to do with a number of things - non-movable apps, large files (e.g., photos and videos) and a ever-growing Contacts database.

Step 1: Move Apps to Your SD Card/USB Storage

First of all, a large number of Android applications cannot be moved to the SD card/USB storage. Among these (on my phone): Facebook, Twitter, Tango, doubleTwist, Google Voice, WeatherBug, MOG, Rdio, Cinch, eBay, Amazon, NYTimes, IMDb, Pixelpipe, Google Listen and a dozen or so others.

In some cases, the developers have good reason for disabling the "move to USB/SD" functionality, but in other cases, the only reason they are locked in place is because the developer hasn't gotten around to adding that feature yet.

An easy way to determine which apps can be safely offloaded to the SD card is by using App 2 SD (Free). This Android app helps you quickly move apps to external or internal storage through Settings. It provides a list of movable apps,  app sizes and even lets you clear app caches, which can also lead to storage issues. Although you can do this with Android's own Settings app (Android 2.2 and up), App 2 SD is better, especially because you can move all your apps at once.

There are other ways to move the non-movable apps to SD/USB storage, both on rooted phones and not, but this guide is for less technical users. Feel free to add your own techniques to the comments section below.

Step 2: Uninstall Apps

I'm sorry to say it, but one of the easiest ways to regain storage on your device is to uninstall the apps you don't need. You may be surprised to find apps you had forgotten about saved on your phone, taking up valuable space. If you can live without 'em, get rid of them.

To uninstall an app:

  1. Go to Settings --> Applications.
  2. Press "Manage Applications"
  3. On the "Downloaded" tab, tap on the application name you want to remove.
  4. Tap the "Uninstall" button to remove it from your phone.

Step 3: Remove Photos and Videos from the Phone

Another overlooked area contributing to disk space issues may be the Photo Gallery. If you've been saving a lot of photos and video on your phone (as opposed to the SD card/USB storage), this could be another easy way to regain storage.

Because Android is integrated with other Google services, I've taken to periodically cleaning up my Gallery app by sharing the stored media to "the cloud," specifically Google's Picasa service. Although I also put photos up on Facebook and Flickr, by adding them to Picasa, I can still easily see them on my device within the Android Gallery app. Picasa photos are available in the Gallery, but when accessed are retrieved from the Web.

On the Nexus S (your exact procedure may differ slightly), the process is as follows:

  1. Launch the Gallery app and tap the "Camera" folder.
  2. Tap the Menu button (twice).
  3. Tap the photos to sync to Picasa individually, or choose "Select All."
  4. Tap the "Share" button and choose "Picasa" from the menu.
  5. Fill in caption and folder info, if desired, then press "Upload."
  6. After the photo upload is complete, you can remove those items from your phone to regain storage.

Step 4: Analyze Disk Usage to Find Other Issues

Another way to isolate disk storage problems is by getting an app to analyze the storage space on your phone. At first, I tried the SystemPanel app based on a recommendation, but while that app is great with its detailed analysis, charts, graphs and historical usage trends, I found that for this particular area of concern, I preferred the single-purpose DiskUsage app.

With DiskUsage, I could see precisely what was bogging down my system in terms of space and act upon it. And as it turns out, it was not my apps, but my contacts storage.

Step 5: Deal with Your Contacts Storage Size Issues

At 49.3 MB, it appears that my Contacts Storage database has become too large. (To those who ask: yes, I do have like 4,000 contacts saved in there, thank you very much. No, they are not all necessary, but I have yet to find a good Google Contacts clean up tool).

Unfortunately, without rooting the phone, the Contacts database can't be moved permanently to the SD card/USB storage. Instead, you can temporarily fix the problem by exporting the list to the SD card/USB storage, then rebuilding it. After the rebuild, the list will have a smaller file size. Apparently, it will still bloat over time and this process will have to be repeated. This appears to affect some handsets more than others. For example, I have access to HTC Desire right now where this is a serious issue.

To deal with this bug, do the following:

  1. Go to Settings --> Applications.
  2. Press "Manage Applications" and then the "All" Tab
  3. Scroll to "Contacts Storage"
  4. Press "Clear Data" (WARNING! Do not do this unless all your contacts are already backed up in Google or elsewhere first. If you're not sure, download a backup application from the Market and use it to back up your contacts, or simply launch the Contacts app and choose "Copy to SIM")
  5. Relaunch the Contacts app. It should now be empty.
  6. Reimport/resync the contacts you saved elsewhere (either via the 3rd-party app you used, if you don't use Google to store your contacts, or simply wait for the Google sync process to automatically reimport them for you if you save your contacts in the cloud.) After import, my large Contacts file became a much more healthy 6.34 MB.

What are your tips? As I've mentioned, I'm still new to Android, so I imagine there are those of you out there with other tips to share, too. If so, please let me know about your suggestions via the Comments section below.