Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

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.

share|improve this question
    
I have the same issue, and just assumed it was bugs or what not. –  Fammy Mar 12 '13 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 '13 at 18:26
    
CyanDelta purports to automatically wipe the Dalvik cache with each update. So that's not likely the solution. –  Larry Silverman Mar 12 '13 at 18:30
add comment

3 Answers

up vote 3 down vote accepted

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.

share|improve this answer
    
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. –  Larry Silverman May 2 '13 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/… –  Larry Silverman Jul 30 '13 at 15:58
add comment

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

share|improve this answer
    
As mentioned above, the update method I'm using automatically wipes the Dalvik cache. –  Larry Silverman May 2 '13 at 18:00
add comment

TL;DR - Restored performance of my 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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.