2012-09-18 26 views
-1

我的應用程序中有一個OutOfMemoryError,但沒有在我的代碼中看到如何處理/捕獲它的方法。任何想法如何防止/解決?OutOfMemoryError在MapView中

java.lang.OutOfMemoryError 
at android.graphics.Bitmap.nativeCreate(Native Method) 
at android.graphics.Bitmap.createBitmap(Bitmap.java:605) 
at android.graphics.Bitmap.createBitmap(Bitmap.java:585) 
at com.google.android.maps.ZoomHelper.createSnapshot(ZoomHelper.java:444) 
at com.google.android.maps.ZoomHelper.beginZoom(ZoomHelper.java:194) 
at com.google.android.maps.MapView$2.onScaleBegin(MapView.java:380) 
at android.view.ScaleGestureDetector.onTouchEvent(ScaleGestureDetector.java:261) 
at com.google.android.maps.MapView.onTouchEvent(MapView.java:682) 
at android.view.View.dispatchTouchEvent(View.java:5552) 
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1951) 
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1712) 
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1928) 
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1376) 
at android.app.Activity.dispatchTouchEvent(Activity.java:2364) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1876) 
at android.view.View.dispatchPointerEvent(View.java:5736) 
at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2920) 
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2473) 
at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:847) 
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2482) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4424) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558) 

發生在ThinkPad平板採用Android 4.0.3

+0

你有沒有內存泄漏? –

+0

不,但我在我的應用程序中使用了很多內存 – ligi

回答

0

你抓不到一個OutOfMemory錯誤。
只是谷歌它,有幾十頁的報告和討論有關OoMs在Android中。 最常見的原因是巨大的靜態變量或位圖不能被回收。 這裏有一些建議:BitmapFactory OOM driving me nuts

+0

我可以 - 也可以 - 捕捉OutOfMemory錯誤,但是我只能在OOM發生在我的代碼中時才能做到這一點, 。恕我直言,這是一個MapView中的錯誤 - 他們應該處理OOM,而不僅僅是崩潰 - 此問題旨在找到一種解決方法 – ligi