Friday, May 11, 2012

Link2SD on Android phones

I have been using an HTC Wildfire S for the past year. It has been my first experience with the Android OS. The flexibility of installing so many apps and customizing the whole phone was really appealing to me.

Unfortunately, the Wildfire S has only 150 MB of internal memory. Before purchasing it, I assumed that I could just add a 16 GB micro SD card and I would never be short of memory. I did not realize that the phone has very clear differences between 'internal' and 'external' memory. Just increasing the external memory doesn't help me much. For six months, I kept the installed apps to the minimum so I could stay within the 150 MB limit. Even the apps which supported installing to SD card, left a big footprint on the internal memory. So even if an app's description stated that it it could be installed to SD card, it did not hold much importance for me. Eventually, I realized I was hardly using the Android OS's functionality of being so customizable and being able to install many different apps. I did a lot of research online and it all led to the same conclusion: root the phone!

Rooting the phone meant that it would give me access to the basic level of the phone which the manufacturer did not intend for the end user to mess with. Finally, I found someone who could use a specific hardware to give me root access.

After rooting the phone, I installed an app called Link2SD. This app makes a partition on the SD card and stores the app, its dex file, and its libraries to this partition. Then, it leaves a small file on the internal memory, which links to those files on the SD card. So whenever the phone accesses those files which it thought were on the internal memory, it gets re-routed to the files in the SD card. When I first installed it, and linked all the files, I had a 100 MB free on the internal memory! :)

I never thought I would ever run out of memory on the phone again! I just started installing apps because I thought I might someday like to use it. Over the last six months, I installed 100+ apps! Eventually, I again started running out of internal memory. With some more research online, turns out that the small files which Link2SD stores on the internal memory to let the phone re-route to the files on the SD card, were adding up. For each app, there was the apk file, the dex file and lib file. With a 100+ apps, these small link files added up to a lot of memory.

Now, it came to a point where I could not even keep 10 MB free on the internal memory. Everyday, I would get the warning that I am running low on space. I tried clearing the cache files, but they weren't a big help. After trying everything I could think of, I started removing the apps because I thought since I was living within a 150 MB capacity before rooting the phone, maybe I can cut my app hoarding a bit and be in the clear. I uninstalled as many apps as I could think I could live without but I barely scraped 15 MB off the internal memory. Turns out, I have gotten so used to using most of the apps, that I can't think of using my phone without them!

Now, all I can do, is either a) keep clearing the app cache frequently or b) stop installing apps and lose the flexibility and functionality of the Android OS. I have decided to keep clearing the app cache frequently and wait for a couple of months until I get a new phone with a large internal memory! :(