今日、Google マップで黒い画面が表示されるという問題が発生した人はいますか? 私は何人かの同僚と一緒にプロジェクトに取り組んでいますが、突然マップに黒い画面が表示されます。アプリを新規インストールすると、最初は正常に動作しますが、再構築すると黒い画面が表示されます。これはすべて、Titanium (joy) の CLI インターフェイスで行われています。他の誰かがこの問題を抱えている場合は、返信してください。これが Google API の問題なのか、Titanium の問題なのかはわかりません。現在、問題を絞り込んでいます。
6 に答える
これは、マニフェストの android:anyDensity="false" に関係していると思います。私はちょうど同じ動作に遭遇しました。android:anyDensity="true" を設定すると正常に動作します。
たくさんのヒットと試行を検索した後、Manifest.xml
. このコードを のApplication
タグからタグActivity
に移動しましたManifest
。
問題は にありましたManifest
。
<application
android:hardwareAccelerated="false"
android:largeHeap="true">
から取り外してManifest
使用するActivity
<activity
android:name="com.mycompayname.activities.SignUpActivity"
android:hardwareAccelerated="false"
android:largeHeap="true"/>
少し遅れましたが、WebView (他のフラグメントであっても) が GL エンジンまたは MapView で黒い画面が表示される何かを「クラッシュ」させることがあることがわかりました。LogCatでこれを見つけました:
09-30 10:58:17.765: E/libEGL(29805): call to OpenGL ES API with no current context (logged once per thread)
09-30 10:58:17.765: W/Adreno200-EGL(29805): <qeglDrvAPI_eglSwapBuffers:3421>: EGL_BAD_CONTEXT
09-30 10:58:17.765: W/HardwareRenderer(29805): EGL error: EGL_BAD_CONTEXT
09-30 10:58:17.775: W/HardwareRenderer(29805): Mountain View, we've had a problem here. Switching back to software rendering.
WebView がデタッチされたときにこれを修正するには、Fragment で destroy 関数を呼び出します。
@Override
public void onDestroyView() {
if (webView != null) {
webView.destroy();
webView = null;
}
super.onDestroyView();
}
多分それはあなたの問題も解決するでしょう。
私も同じ問題を抱えていました。私のアプリケーションは数か月間正常に動作し、数週間前にマップをロードしたときに黒い画面が表示されました。グーグルマップの更新だったのかな…
マップを表示するために実装したクラスのコンストラクターでメソッド setZOrderOnTop(true) を呼び出して修正しました (SurfaceView クラスを継承します)。