2012-04-18 62 views
1

我正在开发一个使用谷歌地图的应用程序。它可以在除特定设备之外的所有设备上正常运行:Google Nexus S - 我们只能访问一台此类设备。 错误是,在导航地图时,应用程序崩溃与OutOfMemoryError。 下面是堆栈跟踪:安卓谷歌地图在Nexus S上崩溃

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) 

任何人都可以证实,如果他们碰到了同样的问题?如果是这样,你碰巧有这个解决方案吗?

回答

0

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

+0

我正在使用和加载位图...其中一些确实很大,但它们没有加载到地图活动中。您是否碰巧有任何资源/链接可以更有效地进行位图加载而不会丢失质量? – gunar 2012-04-19 06:01:14

0

我碰到了与TF201相同的东西。

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

+0

这是一个正在开发的应用程序,不是从谷歌播放下载... – gunar 2012-04-19 05:58:49

1

我在使用ICS 4.0.4的Galaxy S2上遇到了同样的问题。我从Google地图的应用菜单中清除了数据,并强行停止了它。在这之后重新启动Google地图,它工作正常。

0

为了防止有人绊倒这个问题,这里是来自Android开发者的guide关于如何有效地使用位图。