It seems that the latest release of the Flurry Analytics SDK is causing an issue with fast app switching with iOS 4. The issue which is easy to reproduce happens if, after you have sent a running App to background using the Home button, you immediately relaunch the app by tapping its icon on the desktop. Instead of the app being displayed you end up with a black screen. To exit the black screen you need to use the home button again. The Apple dev forums have some reports on the problem.
The default behaviour of Flurry is to send the analytics data as the app terminates. The latest version of the SDK (2.5) has been updated for iOS 4 and presumably (the release notes are not clear on this) also attempts to send data when the app moves to the background. Since this takes a few seconds (maybe more on a slow network) it seems that the app is not finishing before it gets relaunched.
The Flurry API does mention this as a potential issue and provides the option to send the data on startup:
This option is on by default. When enabled, Flurry will attempt to send session data when the app is exited as well as it normally does when the app is started. This will improve the speed at which your application analytics are updated but can prolong the app termination process due to network latency. In some cases when
setSessionReportsOnCloseEnabled is set to true, attempting to restart the application immediately (within a second) after exiting can cause a crash.
Setting this option to NO does seem to improve the performance but does not avoid it completely. In trying this with a test app I was still able to reproduce the black screen if I launched, exited and relaunched several times in quick succession. You could argue that this is not normal user behaviour but it still concerns me enough to avoid using Flurry until it gets sorted out.