Tell me more ×
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.

Everything was working fine for a long time. But suddenly the device is getting slower than usual (e.g. apps react slowly when starting an action -- like the RSS reader takes "ages" to open an article). Also, several apps start crashing: force-closes as well as unexpected restarts. Sometimes this even involves some automatic reboot of the device.

Is there anything I can do, besides doing a factory-reset? Preferably it should work on un-rooted devices.

Remark: not all described problems may occur together, so on one device e.g. there might be no automatic reboot involved. Question remains the same, nonetheless.

share|improve this question
Are there any hints when you look at the output of adb logcat? – ott-- Dec 14 '12 at 12:54
That's better explained by a developer. I assume there is, but I doubt I could fully interprete the Java stacks from the crash. – Izzy Dec 14 '12 at 13:55

2 Answers

up vote 5 down vote accepted

A behavour as described above in most cases indicates something's messed up in the system. The most likely candidates here are:

  • Application Cache
  • Dalvik Cache

As you might have guessed already, different solutions are available for rooted devices -- but only few for non-rooted devices, which cannot directly access the Dalvik Cache. So read on below examples until you hit something working for you, or continue to the very end for all options.

rooted and non-rooted devices: Clear the Application Cache

If you're lucky, it's simply that: the Application Cache got filled/messed up. This can be easily resolved, even on non-rooted devices:

  • With methods available by default on each Android system:
    • From your homescreen, go to Settings → Apps → Manage Apps. Make sure to view All Apps, not Downloaded only
    • Walk the list, open each app, and hit the Clear Cache button
  • Easier method using helper apps: There are several apps available on the Playstore which allow to clean all application's caches at once, so you don't have to walk a long list and do it manually. One example for such an app is 1Tap Cleaner, which also can clean up several other histories like e.g. the browser history

rooted devices: Clear Application Cache and Dalvik Cache

Even more likely for the described case is a messed-up Dalvik Cache -- especially if you tested a lot of apps, permanently installing/uninstalling different ones. So a cleanup of the Dalvik Cache most certainly will solve the situation. As a side effect, it will certainly speed-up things. No negative side-effects are to be expected.

  • Via Custom Recovery
    This is the most effective way and sure to really do the job. This example is based on the ClockworkMod Recovery, which is most widely spread. It should be equivalent with AmonRa Recovery.
    • Boot into recovery mode (how to do this often depends on the device/ROM used. For CyanogenMod users it's most easy: Long-Press the power button, select "Reboot", select "Recovery")
    • Using the Volume controls, select Wipe Cache and approve it using the power button. On the next screen, approve the action the same way. This way you easily clear the Application Cache as described above, all at once, without the need of an extra app.
    • Go to the Advanced menu, select to Clear Dalvik Cache the same way with the Volume and Power keys and approve it.
    • Go back to the main menu, and select Reboot. The next reboot will take longer as usual, so don't worry: Android needs to rebuild the Dalvik Cache, that's completely normal behaviour.
  • Helper apps:
    Several apps offer options to cleanup the Dalvik Cache (e.g. SystemCleanup and Titanium Backup PRO Key ★ root). You can try those; but I'm not sure if one of them really "wipes" the Dalvik Cache. At least for Titanium Backup I know it only removes remains from uninstalled apps (i.e. obsolete Dalvik files).

rooted and un-rooted devices last resort: Factory Reset

If none of the above does solve your problem, there's always the Factory Reset. Basically, this does all the above (wiping Application Cache and Dalvik Cache) -- but it also wipes the /data partition. This means: All your settings and data (except those stored on your sd card) as well as all apps you installed yourself are gone. So be sure to have a good backup before doing this (see e.g. Full Backup of non-rooted devices for how to achieve this).

share|improve this answer
Wiping the dalvik cache should be unnecessary unless you're on a new kernel/ROM. Clearing it will just remove ALL those files, which will be recreated (except for uninstalled programs, which Titanium is warning you about). – NoBugs Apr 8 at 0:31

I've noticed on mine that when I run the Gallery app, things get very very slow for a long while, then eventually start working fine again. I suspect that's because I have a huge number of pictures, and almost never use the Gallery app. I think it may be re-scanning and cataloging in the background or other maintenance-type functions.

I found a similar issue when I was cleaning my call log. Every now and then, I'll scroll back several months and delete log entries from telemarketers or other undesireables. When I do this and go back several months, things can get very slow as well. In this case, I suspect it's because I'm essentially fragmenting a very long log file, and it's trying to clean things up in the background, but while it's doing that, I'm continuing to poke additional holes in it. Again though, if I just wait it out, it seems to resolve itself.

Today I did both, and things got extremely slow for about an hour after I finished. But I just left it alone, and now everything smooth as glass once again.

Sometimes we just need to let the machinery do it's job without fiddling with it, thereby making things worse. :)

share|improve this answer
In both of your examples, it's not some file you work on but a database. For the Gallery, the MediaScanner should take care for that once it's triggered (scanning for new media files and updating the database; events triggering this include boot_completed and sdcard_mounted). For your call logs, it's again a database which might be automatically "vacuumized" (i.e. de-fragmented), but that should take seconds at max. Not sure what's slowing things down here that much -- but if it resolves itself, all the better :) – Izzy Jun 10 at 21:49

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.