Nostalgic Rumblings
The Ramblings of an Old Man




If you appreciate the lists and
websites, please consider
contributing to their maintenance.




Categories


February 2013
S M T W T F S
« Jan   Mar »
 12
3456789
10111213141516
17181920212223
2425262728  


Search:


Contact Webmaster


Links


Meta

  • RSS 2.0

    The main feed; in a news aggrigator, it's the news items, in a podcast client, it's the media files.

  • iTunes RSS 2.0

    This is the feed for iTunes to load the podcast. Why so difficult and non-standard? Beats me...it's why I use Juice and not iTunes.

  • Comments RSS 2.0

    This is the feed for global comments (any comment made to the board); each entry has a seperate comments feed, too


Twitter / CFSummers


© 2013 L.O.F. Communications;
All Rights Reserved

Times listed are U.S. Eastern

We don't need no much stinkin' CSS...


 
Please Keep These Pages Free; Check Out Our Sponsors by Clicking the Banner!

Your Advertisement Could Be On This Page!

Your Advertisement Could Be On This Page!


 

2/2/2013


Fixing “Low on Space” Errors on Samsung Dart & Other Android Phones

Filed under: General — Charlie Summers @ 7:54 pm

Anyone with a low-end Android device like the Samsung Dart has, or eventually will, run into the dreaded, “Low on Space” error. The notification you receive directs you to the Manage Apps app, where the generally-accepted solution is to either delete some of your applications or to clear the cache on every application you have. The former will fix the error, but cripple the phone since you can’t use the applications you remove. Clearing the cache is a temporary solution at best, since eventually the cache will fill up again and this warning will return.

In researching this issue, I was not-so-surprised to find many snide answers that suggest you buy a new phone, since clearly you bought a low-end phone in the first place and so shouldn’t expect to get anything done with it anyway. Those kids can be as smug in their superiority as they wish, but obviously that doesn’t fix the problem. Some Dart owners can’t afford to spend hundreds on a phone, others can’t see it’s particularly worthwhile, and the rest of us actually like the underpowered-yet-capable Dart and aren’t particularly interested in replacing it.

The “buy a new phone” answer is a lot like suggesting that if you can’t read a CD you should replace your entire computer system…pretty unacceptable, if you ask me. So let’s see if we can research the problem and come up with an actual, helpful solution to the problem instead of just being a patronizing jerk, shall we?

First question to ask: why, exactly, am I getting this error? It looks like there’s plenty of internal memory to handle my stuff, especially since the Dart automatically installs non-system-non-widget applications to the microSD card by default. But it’s all about the data…the /data directory, to be precise. All of the applications you have, those installed by the factory and those you install, shove their datafiles in there. All. Of. Them. It’s a separate mount point, that is it’s a separate partition of memory - on lower-end devices, this directory is crippled by having very little space available. It isn’t just the Dart…do a web search about this topic, and those with the HTC Incredible end up front-and-center, so it is a problem for a lot of low-end devices.

As in any low-space condition, there are basically three solutions: use less space, add more space, or fool the system into thinking stuff you moved is still there. We can’t add more internal memory to the Dart, and we’ve already decided deleting all of the apps we use every day is conter-productive, so let’s consider that last option.

What we need to do is move some of the things that must be in that directory somewhere else, while maintaining symlinks to the files from the /data directory so the system thinks they are still there, and finally we need to make certain those links last between boots, frankly the most difficult of the three.

Fortunately, there’s an app for that.

(I always wanted to say that…)

A very important note: Your Dart must be rooted. I know, I know, it sounds daunting, but trust me, it’s a simple thing. Why some people avoid rooting their device is beyond me…a non-rooted Android device is equivalent to buying a Windows machine without getting the Administrator password. It’s unthinkable that the Big G has been allowed to get away with such hubris by the development community…instead of writing work-arounds, we should be storming the Googleplex with torches and pitchforks. Pretty sure that’s what would happen in Redmond if Microsoft pulled something this insane.

Anyway, I’m not going to detail here the steps require to root your device, since there are about a bazillion places on the Net that will show you how to use SuperOneClick to quickly and safely root your Dart. (If there’s enough horror about it, I’ll write an entire blog post on how to root and unlock your Dart. Edit 08/19/2013: Since I bought my wife a Dart during the Office Depot clearance, I’ve finally written that root-and-unlock post. But for now, let’s assume you’ve already rooted your Dart and get back to squashing that error, shall we?)

You will need to download two pieces of free software; first, MiniTool Partition Wizard Home Edition, a Windows software application used to repartition your microSD card, and Link2SD, an Android application used to move application data from the limited internal memory to the second partition you’re going to create on your microSD card. A quick warning: the Partition Wizard website redirects to CNET for the download. Downloading from CNET is always a challenge, since they insist on trying to install their bloatware “download manager.” Poke around until you find the direct link to download the software, which they keep moving and hiding.

Oh, and one more important warning:

Backup your microSD card first!

(Before you ask me how to backup the card, there are a bunch of ways. The simplest is to just copy the contents of the card to a folder in your Documents directory. I use the PortableApps version of Toucan; I keep it on the microSD card inside a directory named “Window Apps,” and have written scripts to automate the backup and archive procedure, so I can keep the last two backup copies. But then, I never do anything the easy way…)

Shut down your phone, remove the microSD card, and after backing it up (did I mention that enough now?), insert it into the computer via an adapter, reader, or whatever. Now launch Partition Wizard (under Win7 you’ll need to Run as Administrator), and find your microSD card. This is important, since you really don’t want to be mucking around with any of your other mounted drives; make sure you know where your microSD card is mounted! I’m using a 16G microSD card (formatted to 14.9G), and am only using about 3.7G, so I have plenty of room for this step. If your microSD card is almost filled, you might want to consider a larger card before performing this step, or remove photos and other datafiles to make enough room. We need to create a new partition on the card, taking some of the space from the sole partition to create a second one. In Partition Wizard, right-click on the microSD card and select “Move/Resize Partition.” Reduce the existing partition; I shrunk it so that there would be 2048M unallocated space after the existing partition…2G seems excessive, but with the 16G card I can afford it…you might want to free up only 1G, or even 512M. So long as you have a backup (note that Partition Wizard is also warning you to have one!), you can always resize things later once you know how much space you’ll actually need.

Click OK, and the task is added to pending operations. Now click on the Unallocated section, and select “Create Partition” from the list on the left. You’ll get a warning which you’re going to say Yes to, and then a complicated dialog box. Don’t panic, this will be simple; I set the Filesystem dropdown to ext2 (more on that later), and changed Create As: to “Primary.” Click OK. You should now see two partitions in the line for your microSD. Click the “Apply” checkmark in the toolbar, and the pending operations (resizing the original partition and creating the new second partition) will begin. Don’t worry that this will take a little while…I mean, after all, you do have all the data backed-up, right? ;)

Once this is finished, close Partition Wizard and Safely Remove the microSD card, place it back in your phone and fire the puppy up. (If you plan to sideload the Link2SD app, it would be smart to copy the APK to the microSD before the safely remove. If you’re going to load it from Play or another on-line store, you can do that once the phone completes the boot, media scan, and all that other junk.) If you are told you can’t install because there isn’t enough space, you’ll need to remove some apps or clear the cache to make room - using Titanium Backup, you can back up some apps with their data to the microSD card, then completely remove them for the install and later restore them with your settings and other data intact, so nothing gets lost but a few minutes of your time.

Once you’re up and running, and have installed Link2SD, run it. It should ask you what filesystem is on your microSD card’s second partition - tell it (remember, I chose ext2, discussion on that later). Link2SD will create the mount script, then tell you to reboot your phone. Do it, and once you’re running again re-launch Link2SD. If it asks what filesystem is on the second partition again, you’re screwed; the launch script created by Link2SD won’t work on your device. If instead, as I did on my Dart, you receive a “What’s New” window followed by a list of your apps, you’re golden and ready to eliminate that error!

Enter Link2SD, find a user-installed app (you can filter to just user-installed with the buttons at the top), click the “Create Link” button, check the available checkboxes (even lib, understanding that that will slow down the app a touch more), and do it. Repeat with as many user-installed apps as you wish. I should note I found I needed to reboot a few times, particularly when trying to move really large applications (games, mostly)…if you get an error that you can’t “install” a largish app because of insufficient space, just reboot and try it again. Move smaller apps first, then reboot, eventually you’ll be able to move those big boys off the RAM and into the second partition. Seems it needs a space within the data partition large enough to hold the app that is moving…don’t know why, but each reboot reclaimed all that space.

One very important thing to remember: your microSD card is slower than your internal memory, so anything you move to the microSD card will take a little bit longer to load. And if you move the libraries as well, it’ll take a snich longer still. This is the trade-off; you can install many more applications by using some of the microSD card to hold your apps, data, and libraries, but you’ll pay for it in some launch time. The microSD card I currently use is a class 4 - switching to a class 6 or even a class 10 would probably decrease the speed difference, but I’d bet not completely eliminate it. I may experiment with cloning this card to a class 10 sometime later just to see if it does indeed make a dramatic difference, but frankly I don’t mind the slight hang at load time and occasional lurch while running. I’ll cheerfully pay for having more apps by waiting a little for the ones I use less-frequently. Those that do cause a problem can easily be moved back to internal memory/FAT32 partition if you find, say, Opera or Firefox to be unacceptably slow…I moved Opera, and the slightly-longer launch time is completely acceptable to me. If it isn’t for you, just move it back.

Also as a “be prepared,” on one of my many reboots while preparing this article I got a “Mount Warning” that the second partition wasn’t mounted until after boot…a restart seems to have cleared it up without recreating the scripts, but there are possible down-range issues moving this stuff to the second partition. It hasn’t happened since.

But by moving a good chunk of my stuff to the microSD card’s second partition, I ended up with 55.23MB free on the Internal memory…that’s 31% free. Since the warning occurs at 10%, I’m pretty much golden. And I didn’t have to spend anything but a little time downloading and installing some free software, and carefully following some directions. Beats the devil out of buying a new phone…

Side discussion about filesystems: There are two camps here about which filesystem to use on that second partition. Many places on the Net note that FAT32 works on all systems, and that may be true. But ext2 is the filesystem the Dart uses natively, and so it seemed a really good choice to me. If you’re working with a different device, or want to experiment, go for it; I never even tried a FAT32 because I’m skitchy about using symlinks to reach a FAT partition. Your mileage may vary, objects in mirror may be closer than they appear, and close cover before striking. And, of course, an ext2 makes backing up the card in Windows more problematic…I’ll deal with this issue in a few days when I again have a little spare time.

And so you know, after a few hours I’m absolutely certain 2G is a stupid-large partition for this. Right now I have a massive 250M on it, and that’s after transferring almost all of my user-installed applications. I’m pretty sure 1G would be more than enough for even the most demanding user.

[Post to Twitter]  [Post to Digg]  [Post to Reddit]  [Post to StumbleUpon] 


TrackBack URI    RSS feed for comments on this post.   Post ID: 1576


5 Responses to “Fixing “Low on Space” Errors on Samsung Dart & Other Android Phones” »

     

  1. mdmoss Says:

    I wanted to personally thank you for this article. It literally saved my Dart! I love my Dart. It is just the right size and works perfectly for me. The only problem I had was that internal memory issue. Not anymore! I now have over 41 MB free and the phone runs better than ever!!Thanks a million!!
    Mike Moss

  2.  

  3. Nostalgic Rumblings » Backing Up the Samsung Dart microSD Card With an ext2 Partition Says:

    […] If you remember, back when I wrote the article on dealing with low memory conditions in the Dart I said, “And, of course, an ext2 makes backing up the card in Windows more problematic…I’ll deal with this issue in a few days when I again have a little spare time.” And of course, I never did. […]

  4.  

  5. Dave2013 Says:

    I had the error as noted by Charlie “If it asks what filesystem is on the second partition again, you’re screwed; the launch script created by Link2SD won’t work on your device.”

    Reformat and repartition the SD card solved the problem, though you have to reinstall a few apps and files. I did use FAT32 for the partition without any problem.

  6.  

  7. Dave2013 Says:

    My device showed 177MB of system memory What about the .5 GB for the phone?

  8.  

  9. Charlie Summers Says:

    Dave2013 Says:
    My device showed 177MB of system memory What about the .5 GB for the phone?

    Um, no, it says 177MB in the /data partition (select “Storage Info” in the Link2SD settings for a more accurate look at your memory structure). And this is the partition that gets eaten quickly causing the out-of-memory errors. But this is not all the space used on your phone; the /system partition takes 194MB, /cache takes 21.05MB, and there’s that pesky / to take even more.

    500MB is a pitiful amount of space available for a un*x system…yet by adding space on your memory card, you can get Android to run pretty darned well.


Leave a Reply

You must be logged in to post a comment (if not already registered, it only takes a moment - this is unfortunately necessary thanks to the slime who send blog comment spam advertising their illegal scams...).