I have struggled to find out why we are seeing our app show flashing map tiles on ICS devices (works fine on pre-ICS devices). I eventually narrowed it down what appears to be a problem with the API's on API level 15 devices when a minimum sdk level is set in the manifest (see steps to reproduce and sample code below).
Has anyone else seen this problem and even better know if there is a workaround?
Steps to reproduce:-
- Use the Google sample MapDemos from API 15 SDK Samples add-ons/addon-google_apis-google_inc_-15/samples
- Import the sample to eclipse and build it as is with Project Build target set to 15 , launch the app with device in portrait orientation and show the MapViewCompassDemo view - rotate the device to landscape and notice all works well.
Change the manifest to set the minimum sdk to 15 add:-
<uses-sdk android:minSdkVersion="15" />
Re-build the app with Project Build target api still set to 15.
- Launch the app , select the MapViewCompassDemo view and rotate from portrait to landscape mode (forcing a resume) and note that map tiles in various parts of the screen start flashing grey continously (re-loading - log file shows it continuously fetching new data via http).
- Setting the minSdkVersion to lower levels (e.g. 11) and building with the Build target set to 11 reproduces the same problem.
This problem manifests more readily when the zoom is set further in e.g. 10 iso 8 as in the sample code.
This was reproducible on the Samsung Galaxy III, and II and Galaxy Tab Tablet on ICS (4.0.3).