February 07, 2014, 5:37 PM —
Photo via flickr/watt_dabney.
When your Android phone or tablet is working just fine and doing what you want, it's easy to forget it's a computer.
But every so often, something goes wrong, something does not work. And the guts of your phone—its UNIX-based file system, its weird partitions, its odd dependencies. The little persnickety man pulling the gears for the seemingly humanoid robot appears, and he is unhappy.
Such is the case when you, the owner of a phone that purports to have something like 16 GB or 32 GB in storage, cannot install an app, even a small one. Your phone has a few apps on it, maybe a bit of music and some photos, but you are, you believe, nowhere near your size limit. But the next time you install, or try to update, you get a message: "Insufficient storage available."
I just received this while trying to update Yelp, of all things. I went into the Storage area of Settings, and found that I have 10.32 GB of space available out of a total 25.59 GB. So that should be enough to simply update Yelp, which is a bit more than 11 MB if you install it new, and the updates are usually just changes with much smaller file sizes. But it's not, because "Insufficient storage available," every time.
The thing about "Insufficient storage available" is that, like its UNIX-like lever-puller, it's not great at telling you exactly what's wrong, just what it can report about that thing you tried to do. I have seen people complain about storage issues on big phones before, like the Galaxy S4, which makes less than half of its 16 GB version available to owners. I remembered making Midas-like decisions about which apps to keep on my Nexus One. I had thought that, with newer phones with much more storage, that app limitations were a thing of the past.
No so, it seems: "Insufficient Storage Available" still comes up, but for different reasons. I wanted to put together here all the reasons an Android phone might see this error. Let's get into it.
First: let us distinguish between "internal" and "external" storage
On phones where the memory is physically built into the device and is not a physical micro SD card that can be swapped out, the storage is all usually one big block: photos, music, applications, the system itself, and everything else uses up space, and you hopefully have enough.
On phones with removable storage, and some older phones and versions of Android, there are separate sections of memory: "System," for your core phone functions and the apps you install, and "USB" or "SD" or "External" storage, where all the stuff you create will go. Why the division? The key reason is security: apps installed to "Internal storage" have pieces that cannot be modified by the user or other apps. That's key for apps that have tricky internals, but even more necessary for apps that require a paid license, offer in-app purchases, or authenticate you with an online account.
"External storage," however, is just a chunk of space available to the phone owner and app makers. You can access it from your phone or a computer to which you connect your phone by a USB cable. The reason most apps choose not to install there by default is that when you do plug your device in and access its storage (with a computer, in a car, or anywhere else), those apps are no longer accessible, because the storage has been "mounted" elsewhere. Like I said: UNIX, man.
Again: not every Android device has these distinctions. And some apps split their core functions and data across internal and external storage. But you may still run out of space to install apps, regardless of how your space is divided up. Some of the tips and tools that follow will help with that matter, too.
Strategy #1: Clear out the cache on your apps
Head to Settings, then choose Apps. Flick over to the "Downloaded" section, if necessary. Look for a little Menu button, maybe in the upper-right corner or at the bottom, and choose "Sort by size." There you have it: a reverse-order list of which apps are taking up the most space.
Screenshot by author
Apps on your Android use up space in three ways: their core App, the Data the app generates, and cache, or temporary working files. You see this when you head into Settings on your device, head to Apps, and tap on any of them:
Screenshot by author
Under Storage, you see the total amount of space used by the app on your device, then divisions of App (core program) and Data (the generated stuff). You only want to clear Data as a last resort. Clearing the Data on an app is basically starting from square one, as if you had just installed it, with nothing logged in or set up or saved.
Underneath that is Cache. Cache, you can totally wipe out. The app might load a little more slowly next time it opens, but it will still work, and your login and data will be intact. Some apps can build up a really big cache over time—Chrome, Google+, Google Search, and quite a few music apps, in particular. Sometimes you only need to clear out a cache or two to make room for that vital app you're trying to squeeze onto your phone.
Image by author
There is a kind of clean-sweep method of wiping out the cache on all your apps at once. You'll have to clear enough space for it, of course, but if you can fit the 1.31 MB App Cache Cleaner on your Android, you'll free up much more space in return. It's an ad-supported product, with occasional pop-ups. But ignore whatever goofy game it wants you to install, look at the "Total" count in the upper-right corner, and then click the big green "Clean" button at the bottom. That's a bit more space, so try installing that app that wouldn't fly once more.
Strategy #2: Move apps to SD card
If your phone has a micro SD card plugged into it, and all is well with it, there are some apps you can move right onto that card. It won't happen by default, but you can push them over yourself.
Open Settings->Apps, and sort by size, if that's not already in place. Start tapping through your big apps and looking for a "Move to SD card" button. If it is there, but grayed out, you're out of luck. If it is raised up and ready to be pressed, you're in luck.
Note: Android's developer guidelines encourage makers of apps over 10 MB to support "Move to SD card," but as with all things open-ish, you know there are some big jerks out there. Sorry about the jerks.
The only reason not to save space with a move to your SD card is if you imagine you will want to access and use an app while your phone is plugged in for data access to a computer, a car, a camera reader, or whatever else. Not plugged in for charging, mind you, but plugged in and using the "USB Storage mode."
Don't want to hunt and peck through a huge list of apps to see who respects your space? There are many apps that can brute-force all your apps onto the SD space. AppMgr III is one of them.
Strategy #3: Clear up space every way you can
If cache-wiping and app-moving don't do it for you, you have at least one more stop before we enter into the realm of hardcore geek solutions: free up space the old-fashioned way, by removing things.
Photo by author.
You can get a big-picture look at what is using up your internal and external space by installing DiskUsage, a free app that visualizes what's sitting around in storage.
Uninstall unnecessary apps: I know, you might need all of those things you have on there. Believe me, I know. But keep in mind that you can re-download any of them at pretty much any time if you have a decent data connection. When I make a cleaning run through my phone, I tend to target the shopping apps (which I never remember to open at the store), rarely played games, the restaurant ordering apps, the individual bank/credit card apps (I tend to do Mr. Serious Money Stuff in a full browser anyways), and little utilities left over from projects. Wi-Fi Analyzer? You were great, you fixed the problem, but you can't hang around. Sorry.
Also, why do I have Netflix on my phone? When have I ever sat down and actually watched a movie on a 4-inch screen? Goodbye, Netflix on phone.
Clear the data on your launcher (if you're using an alternative): Do you rock Nova Launcher? Finding launcher bliss with ADW, or one of the new-fangled systems like EverythingMe or Aviate? Then you can go ahead and "Clear Data" on "Launcher," the app that counts as your phone's default homescreen/app manager. You might save quite a few MB by doing so.
Clear the data on any apps that don't save files or require logging in: What kind of data is your Gallery photo app holding, at around 20 MB? Mostly thumbnails of photos for fast browsing, which it can rebuild. Look for apps of this type, with data that can be easily replaced.
WARNING: Below this point, it gets really geeky
If you're going to use any of the strategies below this point, mostly sourced from outside publications and blogs, you should know that:
- They require quite a bit more time
- They have the potential to wipe your phone's data (and in some cases may intentionally do so)
- They have the potential (unlikely, but real) to actually mess up your device, to the point that your phone carrier might not take it back.
They are listed in order of least wonky and dangerous to most. But it's relative.
Strategy #4: Force your phone to allow SD installations
Earlier on, I noted that developers who make large apps are supposed to allow installation to SD card, but not all do. You can go around a developer's wishes by becoming a pretend developer and tweaking a setting on your phone.
Strategy #5: Kill a weird leftover folder that messes things up
Remember my Yelp problem? I did, in fact, have lots of storage space available. But Yelp, during some likely failed update attempt, had convinced itself that I did not have such space. The solution, after much searching, was a folder deep in the "data" section of my phone's root storage.
To get to that folder (data/app-data/com.yelp... and so on), you will need root access to your phone. To my knowledge, this requires one of two things: a "rooted" phone, one with access to the core internals of the thing that a "root file explorer" app can use, or deep terminal access to the phone through an SDK connection. There are many good reasons to root your Android phone, but this alone might not be worth it, especially for just one app.
Strategy #6: Create a partition and move apps over yourself
This is truly the nuclear option, but it's also the way to make sure you've got room. Carve up your phone's SD card into app space, swap space, and storage, and you can install any app you want outside the core system.
What did I miss? How else can you free up internal space on a phone that needs it, or overcome a strange "Insufficient storage" bug? Tell me on Twitter, or leave a comment on this here page. I'd love to expand this list.