Performance question here : my Galaxy Nexus is really slow right after I connect it to a WiFi network after long periods not being connected to the internet. That doesn't happen on EDGE or on 4G, and after a while it goes back to normal.

My first guess for the culprit is : the low latency of WiFi networks, combined with the (potentially large) number of apps waiting for a connection to wake up, can spawn a lot of threads, which get data almost immediately, and start processing it right away, all at the same time (unlike EDGE where data can take a while to download). Which obviously clog the CPU and RAM. Is there an app or conmand-line tool (phone is rooted and running CyanogenMod 10, btw) that can show me which ones are doing too much work?

Off-Topic: As a developer, do you know of any tricks that can minimize that effect when syncing in background? Other than not doing it when unnecessary, of course!

  • Welcome to Android Enthusiasts! Interesting question but unfortunately your second question is off-topic (questions from programming viewpoint are not allowed, see also the FAQ). You should ask that on stackoverflow
    – THelper
    Commented Nov 7, 2012 at 10:42
  • Ah, sorry about that, my bad. I'm leaving that out as an OT question in case someone has a quick 2-cents link/idea, and I'll ask in SO instead. What I'm really interested about though, is the first one. If I can weed out the apps that use too much CPU on wakeup I'd be happy ;)
    – F.X.
    Commented Nov 7, 2012 at 10:57
  • The OS Monitor app might do the trick.
    – THelper
    Commented Nov 7, 2012 at 11:29
  • I'll check it out, thanks! I was wondering if there was any way to display which apps are registered on WiFi/network wakeup, but I guess that OS Monitor or even htop can do the trick...
    – F.X.
    Commented Nov 7, 2012 at 12:13

2 Answers 2


If you have adb shell ,you can try below command

top -m 10

which displays top 10 applications which takes CPU.

  • 1
    That's actually what I ended up doing, without much success. The latest CyanogenMod M release (10.1) was a huge help however. It still lags behind, but much less than before.
    – F.X.
    Commented Jan 30, 2013 at 8:48

This has become more and more annoying for me as I installed more apps. I solved this problem by installing one of those "battery saver" apps that can schedule when the WiFi goes up or down (3G battery saver pro). I configured it to connect to the network for a couple of minutes every half hour (might change it to every hour to saver battery life) and to leave the WiFi on when I unlock the screen. Tablet is now responsive again! No more waiting for a minute or so to interact with it when I turn it on in the morning or when I come home from work! Yay!

  • I actually recently discovered that disk I/O was the bottleneck in those cases. I had about 500M free space, and SSD disks lag behind a lot when full, so freeing a few hundred megs helped a lot. Additionally, in case you're running Cyanogen, have you tried changing the I/O scheduler to deadline? It seemed to improve performance somewhat, but I'm wary of this being just another placebo!
    – F.X.
    Commented Jul 9, 2013 at 8:18

You must log in to answer this question.

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