【问题标题】:android google maps crash on Nexus S安卓谷歌地图在 Nexus S 上崩溃
【发布时间】:2012-04-18 17:22:59
【问题描述】:

我正在开发一个使用 Google 地图的应用程序。它在除特定设备之外的所有设备上都能正常运行:Google Nexus S - 我们只能访问一个这样的设备。 错误是在地图中导航时,应用程序崩溃并出现 OutOfMemoryError。 下面是堆栈跟踪:

04-18 14:17:52.601 E/AndroidRuntime( 2714): FATAL EXCEPTION: main
04-18 14:17:52.601 E/AndroidRuntime( 2714): java.lang.OutOfMemoryError
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.graphics.Bitmap.nativeCreate(Native Method)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.google.android.maps.ZoomHelper.createSnapshot(ZoomHelper.java:444)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.google.android.maps.ZoomHelper.beginZoom(ZoomHelper.java:194)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.google.android.maps.MapView$2.onScaleBegin(MapView.java:380)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ScaleGestureDetector.onTouchEvent(ScaleGestureDetector.java:261)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.google.android.maps.MapView.onTouchEvent(MapView.java:682)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.View.dispatchTouchEvent(View.java:5486)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1953)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1714)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1959)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1728)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1892)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1371)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.app.Activity.dispatchTouchEvent(Activity.java:2364)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1840)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.View.dispatchPointerEvent(View.java:5662)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2863)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.os.Looper.loop(Looper.java:137)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at android.app.ActivityThread.main(ActivityThread.java:4340)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at java.lang.reflect.Method.invokeNative(Native Method)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at java.lang.reflect.Method.invoke(Method.java:511)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-18 14:17:52.601 E/AndroidRuntime( 2714):     at dalvik.system.NativeStart.main(Native Method)

谁能确认他们是否遇到了同样的问题?如果是这样,您是否有解决此问题的方法?

【问题讨论】:

    标签: android maps nexus-s


    【解决方案1】:

    我在装有 ICS 4.0.4 的 Galaxy S2 上遇到了同样的问题。我从谷歌地图的应用程序菜单中清除了数据并强制停止了它。在此之后重新启动谷歌地图,它工作正常。

    【讨论】:

      【解决方案2】:

      应用程序内存不足。您是否在应用程序的其他地方使用了大量内存(即加载大型位图)?

      【讨论】:

      • 我正在使用和加载位图......其中一些确实很大,但它们没有加载到地图活动中。您是否有任何关于如何在不损失质量的情况下更有效地加载位图的资源/链接?
      【解决方案3】:

      我的 TF201 也遇到了同样的问题。

      卸载所有更新,然后通过桌面市场重新安装。 (play.google.com) 。 至少这对我有用。 可能也会删除缓存的数据和所有这些东西。

      【讨论】:

        【解决方案4】:

        以防万一有人偶然发现这个问题,这里是来自 Android 开发人员的guide,关于如何有效地使用位图。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-23
          • 2020-03-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多