[Nexus 7 General] craig0r:
My Two Cents

I started checking out this and other threads regarding the lag when I noticed it myself, and here's my assessment of the problem. It's not faulty hardware, it's poorly utilized hardware.

On most devices, at least in my experience, will have a separate partition for apps and the "internal sdcard." For example, if I go to Settings-> Storage on my One XL, it lists "internal storage" (aka apps storage) as 2GB and "phone storage" (aka internal SD card) as 10GB, but on the N7, it's just one big storage device.

Now, Android needs to access the various storage locations in a phone/tablet for many reasons: The media scanner scans for new mp3's, jpg's, avi's etc; Apps have to be read from storage to load; syncing apps will read/write storage when info is updated, and so on. Now, on my One XL, The media scanner and various processes will access the internal SD card, while loading/running applications will access the apps storage. Theoretically, this is two completely separate IO threads, and maybe the One XL even has two separate chips for these storage partitions, meaning that loading apps won't interfere with the media scanner/account syncing/etc. With the N7 storing everything in one big partition, it only has one IO channel available at any given time, meaning the entire OS has to share this channel for the multitude of multitasking that is constantly taking place when in use. And there's where the slow down comes from.

And of course it gets worse the more apps and data we have on our devices. It has nothing to do with running out of space and everything to do with the amount of data that Android is constantly accessing. For example, most of you have noticed that disabling Currents background sync will significantly decrease the lag. This is because Currents is somewhat constantly checking for new news articles, and then caching them to the storage. If it's writing these cached articles to the storage, other processes essentially have to wait to access it... for example, when you load an app while Currents is syncing, it's going to take longer than if Currents is not accessing the storage, because the app has to wait for a window in which to read the application from storage. Make sense? Maybe a better example is the media scanner. I'm not sure how often this thing runs, but for argument's sake, let's assume it initiates a scan any time the storage contents change. Now, if Currents is constantly syncing in the background, that means that the media scanner is constantly running, so you've got 2 processes competing for IO, and when you try to load an app (or scroll in Chrome), there's a long line of IO processes that the OS needs to wait for. And the more data on your tablet, the longer each "media scan" is going to take. And the problem compounds and compounds until the device is virtually unusable.

It's been said that poorly coded apps can cause this sort of issue. I suppose that means that an app can be coded to give low priority to its background IO processes, meaning that any app's background processes can be programmed to take a back seat to stuff that should run in the foreground.

I've reset my N7 to stock and have very slowly been reinstalling my apps. So far, no lag, but I've only installed maybe 10 of the ~130 apps I had before the reset. There's also virtually nothing on my "sd card," save for the Scott Pilgrim vs the World comic in the ComiXology app, and anything cached by system apps plus facebook and twitter.

I hope this assessment helps everyone understand what's going on, although it doesn't really help bring about a fix. Hopefully there's something that can be done on the software side, so Google can improve this problem for us, but I can't imagine that storing the apps and "sdcard" data on the same partition isn't a major contributor to this issue. Perhaps some fancy-pants dev around here can figure out how to make the "apps storage" a separate partition, and maybe that'll help solve things!

EDIT: When it first happened, I thought I had damaged by internal storage by overclocking... thank god everyone seems to have the issue.