Level 2b: Operating System

This is the level that unites us all! At the heart of every android device, there exists one similarity and that’s ANDROID!!! Hooray for android! The android platform is truly amazing and as the android community continues to grow, so have the capabilities of the platform itself. New android release have been coming out at staggering rate (weather or not they’re getting pushed to all the devices is another story though :sigh); From donut to eclair to froyo to gingerbread to honeycomb to whatever the next one will be called, I’m gonna go ahead and guess blueberry-cheesecake… lol, the android platform just gets better and better (and tastier!) with new features, advanced hardware support, improved stability, and all around increased awesomeness (yes, that’s a real feature.. don’t judge me! lol). But understanding what goes on at this level is not only fun, it actually will dramatically help you increase/improve your overall system performance; Why? – because behind all the ROM’s, theme’s, applications, sleek protective casing, car docks and accessories, the core functionality of your device all depends on our little green friend (well…after hardware ‘level 1’ and lowest level system access ‘kernel – level 2a’, but you knew that already  ).

So what are the ways can we can improve overall system performance on the OS level? More specifically, what defines/governs the android OS, what can be tweaked on the back-end, and what settings can be tweaked on the front-end to achieve overall performance increases?

Back-end:

1. Sysctl.conf tweaks

Going back to the very first sentence I stated in the introduction section, in order for your device to perform any operation it has to be able to write data to memory; so for such a essential component to the big picture, wouldn’t you think that being able to have direct control over how this is done would be really powerful? Yes it would, that’s a 100% correct (great guess 😛 lol!). This is exactly what sysctl.conf tweaks offer you; a way in which you can modify exactly how the system goes about writing data to memory, how the system will preference writing data to system cache vs writing it to ram, and also how much free memory the operating system allocates just for kernel. Now that’s what I am talking about! For a really detailed and solid overview delineating exactly what each entry in the sysctl.conf file does, instructions for exactly how to go about making these adjustments, some different viewpoints on recommended settings, and even pre-made flashable system tweak.zips check out the Syst.conf tweaks support thread here.

2. Build.prop edits

This is another very important back end system file which governs hows your device allocates and uses its limited hardware resources; entries in this file control things like Dalvik VM heap size, the frequency in which Wifi scans for access points (for battery savings), windows manager max events per second (for increased scrolling speeds), LCD screen density, for higher resolution, and even changing the ro.build.fingerprint to tricking the market into thinking you have a different device so you can see more apps in the market (this may be an outdated tweak now that we are all on a newer market version than when this tweak was initially discovered.. but this sort of tweak works for fixing market problems on the TBH new blur 3.4.2, so it’s still applicable in some circumstances). Modifying these build.prop entries will greatly improve your overall performance, so its a great thing to check out and start implementing. But when it comes to build.prop edits sir Beesley knows best so I will leave it to him to take it from here, check out Beesley’s thread here: Build.prop edits = great battery life + fast phone + full market

3. Battery Recalibration

No matter how good your hardware is or how many mods you make, you may be suffering from sub-par battery life due to your operating systems inability to accurately gauge its available battery life. What this means is that your device could actually be shutting down prematurely, so you actually are never getting the full use out of each charge. Luckily for you, there is an easy way to re-calibrate your battery so that your OS will no longer mistakenly gauge your available power levels. To recalibrate simply do the following;

  • Turn you device off an plug into charger
  • Let your device charge until it reaches its maximum charge (100%)
  • Unplug your device from the charger
  • Boot into clockwork mod recovery & navigate to the advanced menu > clear battery stats > yes > back button or power button once to go back to main menu > reboot system
  • Once the phone is booted, let it fully discharge, by fully discharges I mean literally until the point that it dies.
  • Now re-plug your dead device back into charger and fully charge again (back to 100%), preferably while off.
  • Once fully charged, unplug from charger, boot up and resume regular usage
  • Your device is now fully re-calibrated

No matter what your usage patterns are, its recommended to preform this recalibration procedure approximately once a month. Understandably some of you will never have the time to have your device turned off for all that time necessary to do this, so please note that these guide lines can be bent slightly, and you can get away with doing some of the steps with the phone powered on rather than off, the main idea is simply let it charge, clear stats, let it discharge, recharge, resume usage… that’s all. 

Front-end:

1. Lower Display Brightness

This is a really important one. Your nice over-sized-sized high resolution LCD screen on your DX may in fact be one of your favorite features, however, to display anything on your screen requires a lot of energy (relatively speaking of course); just think of how many photons are being emitted from your screen at any given moment, every second you screen is on your device is drawing power from the battery. So simply lowering the display brightness or setting it auto-brightness can really help, but please note that auto-brightness won’t be as effective as simply setting your device to a low display brightness. How do you set display brightness?

  • Home screen > menu button > settings > display > brightness

Alternatively, if you really want to save battery life, you can use the app Adj Brightness to set your display brightness to values lower than the factory settings for lowest brightness. This app will not only help to improve your battery life, but its also just a really nice app to have at night time, when even at 0% the screen still feels too bright and hurts your eyes, Adj Brightness will take care of that for you, and allow you to set the display brightness much lower.

2. Turn Off AutoSync When Not Needed

Constantly fetching data from servers is a sure shot way to drain you battery. Personally I don’t abide by this guideline because I need to know the second I get an email, but if you can get away with fetching data less frequently it’s highly recommended to improve your battery life. You can also change your data fetch settings from push, to fetch and reduce the fetch frequency; these options for fetch frequency do not apply to all account types, this option is usually always present for exchange accounts. I personally don’t use it because I am constantly using my 3G connection, however many people have benefited from the app called JuiceDefender or the paid version called UltimateJuice which allows you to change the way your device uses your 3G connection. These apps can significantly improve your battery life however I strongly advice against using the app JuicePlotter made by the same company, which actively logs your battery stats. Anything that actively monitors something on your device will drain your battery, so any gains you made with JuiceDefender will be offset by JuicePlotter.

  • To turn autosync off: Home screen > long press empty space > add widget > power control > toggle the autosync icon off (one that looks like arrows going in a circle)
  • To change your data fetch settings: Home screen > menu button > settings > accounts & sync > exchange account > account settings > amount to synchronize

3. Use WiFi When Available Rather Than 3G

Most people are not aware of this, but using a WiFi connection actually uses less battery than your 3G connection. So whenever available, turn off your 3G connection and turn on WiFi. The best an easiest way to toggle these settings on/off is to get yourself a good toggle widget like PowerControlPlus (paid) or WidgetSoid2.x (free/donate version).