私たちのアプリが ICS デバイスで点滅するマップ タイルを表示する理由を見つけるのに苦労しました (ICS 以前のデバイスでは正常に動作します)。私は最終的に、マニフェストで最小 SDK レベルが設定されている場合に、API レベル 15 デバイス上の API の問題と思われるものを絞り込みました (以下の再現手順とサンプル コードを参照してください)。
他の誰かがこの問題を見て、回避策があるかどうかをさらによく知っていますか?
再現する手順:-
- API 15 SDK Samples add-ons/addon-google_apis-google_inc_-15/samples の Google サンプル MapDemos を使用します。
- サンプルを eclipse にインポートし、プロジェクト ビルド ターゲットを 15 に設定してそのままビルドし、デバイスを縦向きにしてアプリを起動し、MapViewCompassDemo ビューを表示します。デバイスを横向きに回転させて、すべてがうまく機能することを確認します。
マニフェストを変更して、最小 SDK を 15 に設定します:-
<uses-sdk android:minSdkVersion="15" />
プロジェクト ビルドのターゲット API を 15 に設定したまま、アプリを再ビルドします。
- アプリを起動し、MapViewCompassDemo ビューを選択し、ポートレート モードからランドスケープ モードに回転します (レジュームを強制します)。画面のさまざまな部分のマップ タイルが継続的に灰色で点滅し始めることに注意してください (再読み込み - ログ ファイルは、http 経由で継続的に新しいデータを取得していることを示しています) )。
- minSdkVersion をより低いレベル (たとえば 11) に設定し、Build ターゲットを 11 に設定してビルドすると、同じ問題が再現されます。
この問題は、サンプル コードのようにズームをさらに 10 iso 8 に設定すると、より顕著になります。
これは、Samsung Galaxy III、II、および ICS (4.0.3) の Galaxy Tab Tablet で再現可能でした。