I have a 32 GB Verizon Galaxy Nexus (toro). I am running Cyanogenmod 10.1 ROM nightlies and I use CyanDelta Updater to stay up to date.

For a period of about 3 weeks, I updated to the latest nightly nearly every day using CyanDelta. Sometimes I'd download the full ROM instead of using CyanDelta. During this time, I never wiped the device (aka factory reset). I just applied the new release on top of the old.

Recently, my phone's performance degraded significantly. There were long delays unlocking, long delays switching apps, long delays doing just about everything. The phone would freeze up, and the OS would ask if I wanted to end a process because it wasn't responding. My podcatcher would stutter while playing.

Instead of switching to another ROM, I decided to first do a full wipe (factory reset). I used Titanium Backup to back up my user apps and data. In TeamWin Recovery, I did a factory reset, flashed the same CM 10.1 nightly I was running previously, restored my apps using Titanium, signed into accounts, etc.

My phone's performance has been completely restored. It's like night and day.

My question is: Why did that work? What is it about applying successive ROM versions that could cause a slowdown that a wipe would fix?

I love my new level of performance, but I also enjoy keeping up with the latest releases. It would seem I can't have my jelly beans and eat them too. Now I'm reluctant to flash any updates without doing a full wipe.

  • I have the same issue, and just assumed it was bugs or what not.
    – Fammy
    Mar 12, 2013 at 18:01
  • 1
    Sometimes instead a full wipe, a wipe of the Dalvik Cache might solve this as well (that's where the pre-compiled code of the apps resides, which then would simply be re-generated at boot time), maybe it became too fragmented.
    – Izzy
    Mar 12, 2013 at 18:26
  • CyanDelta purports to automatically wipe the Dalvik cache with each update. So that's not likely the solution. Mar 12, 2013 at 18:30

4 Answers 4


I've come up with one potential answer myself: TRIM

Solid state disks (SSDs) and some flash memory require the operating system to perform a kind of housekeeping task to maintain the efficiency of the device.

The operating system command TRIM is explained in this AnandTech article:

Its applicability to certain Android devices, including my Samsung Galaxy Nexus and ASUS Nexus 7 is explained in these XDA Developers threads:

An XDA member wrote an app called LagFix which purports to exercise the TRIM maintenance function, thus restoring write performance for the device.

Since I recently performed a complete factory reset, I'm no longer having performance problems and thus I can't directly corroborate the purported benefits of LagFix. If I'm in a position where performance is suffering, I may do some benchmarking and see if LagFix improves the situation.

Please be aware if you plan to try LagFix that there are some devices that have chips that do NOT play nice with this utility. These chips have what's come to be called a BrickBug, and if you run LagFix on one of these devices, you will irrevocably brick your device.

I highly recommend you follow the advice and read the LagFix FAQ. It points to a utility which can tell you if your device contains a chip that may suffer from the BrickBug.

  • I'm going to accept my own answer here with a "works for me" caveat. Since instituting a nightly TRIM operation using LagFix, my performance has remained acceptable (to me). I've continued to flash CM 10.1 nightlies. May 2, 2013 at 18:03
  • Update: According to AnandTech, Android 4.3 brings TRIM to all Nexus devices. This would seem to bolster my answer above. anandtech.com/show/7185/… Jul 30, 2013 at 15:58

To answer your Question, i would like to Quote something called, Dalvik VM and Android File System.

The Android File System would have below partitions (as Common in most devices), \system \boot \data \cache

When ever you flash a new ROM and Corresponding files would be moved to corresponding partitions.

When You flashing a new rom without wiping, the files in all partition would be overridden (If files with same names) and some of the older files may remain as a debris.

\Cache \Data

The above two partitions are ROM specific, whenever there are new apps installed, the Temporary data and its cache would be created and stored in respective partitions. When you wipe, old data and cache items would be cleared.

All Android applications are optimiz to dex (.odex) to run in dalvik virtual Machine (Similar to Java VM). These items need to be cleared when moving to different roms.

Some info about dalvik - http://en.wikipedia.org/wiki/Dalvik_%28software%29

  • As mentioned above, the update method I'm using automatically wipes the Dalvik cache. May 2, 2013 at 18:00

TL;DR - Restored performance of my 2012 ASUS Nexus 7 16GB by deleting several GB of unneeded files.

I recently solved a performance problem on my ASUS Nexus 7 (16GB, first generation) using an unrelated solution to the LagFix/TRIM solution outlined above. Although LagFix seems to have solved the problem on my Verizon Galaxy Nexus (performance remains excellent to this day), I continued experiencing truly awful and unacceptable performance on my ASUS Nexus 7.

My research yielded many reports that if the Nexus 7 memory gets "too full", performance degrades significantly. My device had 3 GB of free memory, so I was skeptical that my Nexus 7 was "too full".

I used the excellent DiskUsage utility to inspect the contents of my 16GB flash memory to see if I could clear out some space. I discovered a movie file I had long since watched and forgotten about consuming several GB of space.

I deleted the movie file, a number of old Nandroid and Titanium backups I no longer needed, and deleted a couple GB of podcasts I didn't need. This freed up several GB on the device.

Performance is now excellent on my Nexus 7. It feels like new.

  • Was your performance improved immediately? I just deleted apps & files to go from about 1.7GB free to 6.7GB free. I feel like parts of the system are slightly faster but on the whole many things are still just as dirt slow as before.
    – Sam
    Nov 20, 2014 at 5:27
  • It's been more than a year since I wrote the above, and I'm afraid I don't recall whether performance improved "immediately", sorry. Additionally, there have been many improvements in newer versions of Android. 5.0 Lollipop is now out and should be available for the 2012 ASUS Nexus 7. I no longer own that device, so I can't help further on the 2012 ASUS Nexus 7. Nov 20, 2014 at 15:59

I tried wiping dalvik cache but it didn't work,then I tried wiping all data and reinstalling CyanogenMod 11 but it didn't work too. Then I came up with a solution that by using CPU MASTER (available on play store) we can set the frequency of our CPU to max for permanent time and Bloom the outcome was unbelievable. I will prefer it to everyone. But it needs root so.....

  • Hello Onkar and welcome to Android Enthusiasts! :) While your answer makes sense, it does not address the core problem of the question. Setting CPU frequencies will most likely always result in better performance but this is not the desired thing to do here. Also watch your battery life from now on :)
    – benjamin
    May 27, 2016 at 15:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .