Like many people, I've experienced problems with my iPhone 3G under iOS 4 from almost day one. Under 3.1.3, I had hardly any slowdown issues at all; after the "upgrade" to iOS 4, I couldn't even run the iPod and Maps apps at the same time without having my music stutter like a record player on a garbage truck. Controls were unresponsive, requiring multiple taps before they'd register. The keyboard lagged so badly it was almost useless. Apps took forever to open, with even default apps like iPod or Messages taking almost a minute to load. When they did finally open, apps crashed left and right. The most annoying thing I was seeing was random freezes in Safari that would lock up the entire phone for 30 seconds or more; not only was the touchscreen completely inert to my commands, even the home and sleep buttons failed to register any input.
I've tried all of the fixes being offered on Apple's forums. I tried re-applying the iOS 4 update, because some people said that worked for them. I tried a double "hard reset" (hold the home and sleep buttons until the iPhone reboots, twice). I tried going into Settings > General > Reset and selected both "Reset All Settings" and "Reset Network Settings". All of these suggested fixes resolved the issue... temporarily. Within no more than a couple of days, all the old issues came back: slow, stuttery performance, app crashes, the works. I hoped 4.0.1 would offer some hope, but no dice. Even under 4.0.1, the problems persisted.
So what's an unlucky iPhone 3G user to do?
First, let me reiterate: if you haven't upgraded your iPhone 3G to iOS 4 yet, DON'T. App folders, an integrated mailbox, and the half-dozen minor improvements that trickled down to the 3G (remember, multitasking isn't coming to the iPhone 3G) aren't worth the hassle. The latest conspiracy theory making the rounds is that Apple made iOS 4 run poorly on the iPhone 3G on purpose in order to encourage people to upgrade their iPhones, but that's hogwash. Apple left the original iPhone off of its list of supported phones for iOS 4, claiming the older phone's hardware simply couldn't handle iOS 4. This was an interesting move considering the iPhone 3G has the same CPU and RAM as the first-gen iPhone. If iOS 4's performance on the iPhone 3G is any indicator, Apple was right to leave the original iPhone by the wayside, and perhaps should have left the iPhone 3G out as well.
If you're already locked into the hell that is iOS 4 on the iPhone 3G, there's really only three courses of action.
1. Downgrade to 3.1.3. Lifehacker posted step-by-step instructions on how to get an iPhone 3G rolled back to the older OS. I haven't tried this, so I can't vouch for its effectiveness; some people have reported issues with getting this procedure to work, while others have noted severe battery life issues after downgrading to 3.1.3. Naturally, Apple doesn't support this procedure, so it's entirely at your own risk.
2. Take off, nuke the site from orbit. Or, in other words, restore the iPhone to factory settings and, rather than restoring your backups, choose to set it up as a new phone. Many users have said this alleviates all of their iOS 4.0 woes, but there's a caveat to this: you end up losing any contacts or media not synced with iTunes, all of your text messages, any Camera Roll photos not synced to your computer, call history, and worst of all, you lose any data associated with your apps, including saved game data. If you're like me and you have dozens of games on your phone with save data representing many hours of invested time, this solution isn't for you. If you don't have many apps, or just don't mind losing that data, then this method may work out for you.
3. Grin and bear it. It's entirely possible Apple may address these issues in a software update. In fact, I'd say it's likely. I have a "friend" who's running iOS 4.1 beta on his iPhone 3G right now, and so far my "friend" has seen markedly improved performance... as in, my "friend's" iPhone 3G is actually usable under iOS 4.1. This is by no means a guarantee that iOS 4.1 will fix everything, of course.
Much like the widely-publicized iPhone 4 hardware issues, it's hard to believe that an issue as widespread as iOS 4's terrible performance on the iPhone 3G could have escaped the notice of Apple's testers. The main appeal of Apple's products, and the main point of differentiation it's pushed in its advertising, is the high quality and ease of use of both Apple's hardware and software. Apple needs to step up its game in its Quality Assurance department before it loses that reputation for good.