3C Toolbox Optimizations

Q: Are 3C Toolbox optimizations really useful? Any risks applying them?

A: Results vary from device to device


Long answer:

Depends how optimized device is in the first place, but some optimizations are useful to perform from time to time.

All optimizations are often discussed on XDA forums.

Some optimizations are known to be safe, but I will not make any guarantee on either results or potential problems. Rooted devices and using root apps involves too many layers, each of which could fail if corrupted: The root app, SU app, su binary, the ROM and the kernel can all be corrupted for one reason or another.


App optimizations: (XDA thread)

Zip-align all user APKs to ensure fastest access time. Most recent APKs are already zip-align, and I believe ICS does this on boot. Nevertheless this ensures all apps accesses are optimum.

This has proven very safe to perform and is often integrated in custom ROMs during boot. I've never experienced any issues because of that. However no guarantee can be provided.


Database optimizations: (XDA thread)

This clean-up all databases found under app data. This will reduce database size by cleanin-up free space and recreate indexes so that access to data is optimum. On first use of a device this does not do anything useful, but on the long run databases often gets clutered with empty spaces and fragmented indexes. This should definitely provide a little boost on app use after a long time using a device without wiping it. Actual improvements might not be that noticeable anyway, it will mostly affect apps using large databases.

This optimizations has proven very safe also, never lost any data performing it on every boot on multiple devices, but again no guarantee whatsoever.


Memory cleaner:

This will trigger the Android OOM (out-of-memory) manager and kill the least used, most consuming apps to reclaim a fair amount of memory. It will further restart those apps with a smaller memory foot-print.

This is the safest optimization one can run, very useful on all stock kernels and most custom kernels. Probably not that useful on CM10 and above which implements better memory management (at the cost of CPU usage). More on Android memory handling will be added later.


Build.prop presets:

Those presets change some interesting ROM behaviors, some of which allows apps to consume more memory without impacting the whole system. However some of those presets may create lags or instabilities when running on old devices with little memory.

This is usually safe to use, but in case of problems (lags or instability), a backup is automatically created under /data/system/build.prop.original, which can recover from such situation. The app can also use it in a convenient way to restore original build.prop and recover.


Sysctl presets:

Those are probably the most sensitive optimizations one can perform as they control Kernel behavior: the head of your Android device, the heart being the CPU. The app automatically backup original settings.

This is safe to use on ICS and recent devices. Some users have experienced lags depending on the preset applied, however they all managed to recover by restoring original settings within the app itself or using the CWM restore package that disable all app tweaks (CPU, optimization, SD, etc...).


WARNING: It has been noted that on old HTC Sense devices, build.prop settings (most probably the preset to force launcher in memory at all times) could prevent HTC Sense from starting on boot, making the whole device unusable. It is thus strongly advised to create a CWM restore package if using CWM recovery, or have the app show a notification (allowing to start the app to restore settings in case of problems) or install a spare launcher for testing purpose before permanently applying those settings.