2012-02-25 31 views
0

我想調試一些android的eclipse操作足球遊戲(我的android設備是戴爾streak墊)。當遊戲進入某種匹配狀態(比如世界盃比賽)時,eclipse調試器會花費很長時間,但不幸的是,會因爲內存異常而異常。調試一些opengles與eclipse的android遊戲遇到outofmemoryerror異常

這裏是崩潰的調用堆棧:

螺紋[< 1>主](暫停(例外的OutOfMemoryError)) Bitmap.createBitmap(INT,INT,位圖$配置,布爾值)線:604 Bitmap.createBitmap(INT,INT,位圖$配置)線:584
ActivityThread.createThumbnailBitmap(ActivityThread $ ActivityClientRecord) 線:2442
ActivityThread.performStopActivityInner(ActivityThread $ ActivityClientRecord, ActivityThre線程:2615 ActivityThread.handleStopActivity(IBinder,boolean,int)行:2689 ActivityThread.access $ 800(ActivityThread,IBinder,boolean,int) line:122 BinderProxy(ActivityThread $ H)。 handleMessage(Message)行: 1038 ActivityThread $ H(Handler).dispatchMessage(Message)行:99 Looper.loop()行:132 ActivityThread.main(String [])行:4123
Method.invokeNative(Object,對象[],類,類[],類,int, 布爾值)行:不可用[本機方法] Method.invoke(Object, Object ...)line:491 ZygoteInit $ MethodAndArgsCaller.run()line:841
ZygoteInit.main(String [])line:599 NativeStart.main(String []) 行:不可用[本機方法]

守護程序系統線程[< 2> HeapWorker](暫停(例外的OutOfMemoryError)) BinderInternal $ GcWatcher.finalize()線:48
NativeStart.run()行:不可用[本機方法]

螺紋[< 9> GLThread 10](暫停(例外的OutOfMemoryError)) GLSurfaceView $ GLThread.run()線:1188

並且還有一些與logcat有關的信息:

02-25 15:07:33.931: DEBUG/dalvikvm(17453): threadid=2: still suspended after undo (sc=1 dc=1) 
02-25 15:07:33.931: DEBUG/dalvikvm(17453): GC_BEFORE_OOM freed 0K, 1% free 48888K/49159K, paused 414ms 
02-25 15:07:33.931: ERROR/dalvikvm-heap(17453): Out of memory on a 62116-byte allocation. 
02-25 15:07:33.931: DEBUG/dalvikvm(17453): threadid=9: still suspended after undo (sc=1 dc=1) 
02-25 15:07:33.931: INFO/dalvikvm(17453): "main" prio=5 tid=1 RUNNABLE 
02-25 15:07:33.931: INFO/dalvikvm(17453): | group="main" sCount=0 dsCount=0 obj=0x4014b5c8 self=0x125f8 
02-25 15:07:33.931: INFO/dalvikvm(17453): | sysTid=17453 nice=0 sched=0/0 cgrp=default handle=-1342909336 
02-25 15:07:33.931: INFO/dalvikvm(17453): | schedstat=(0 0 0) utm=249 stm=13 core=1 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.graphics.Bitmap.nativeCreate(Native Method) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.graphics.Bitmap.createBitmap(Bitmap.java:604) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.graphics.Bitmap.createBitmap(Bitmap.java:584) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.app.ActivityThread.createThumbnailBitmap(ActivityThread.java:2442) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:2615) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.app.ActivityThread.handleStopActivity(ActivityThread.java:2689) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.app.ActivityThread.access$800(ActivityThread.java:122) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.os.Handler.dispatchMessage(Handler.java:99) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.os.Looper.loop(Looper.java:132) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at android.app.ActivityThread.main(ActivityThread.java:4123) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at java.lang.reflect.Method.invokeNative(Native Method) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at java.lang.reflect.Method.invoke(Method.java:491) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
02-25 15:07:33.931: INFO/dalvikvm(17453): at dalvik.system.NativeStart.main(Native Method) 

等等。

我試圖直接在我的android設備上運行它,並且事情似乎沒事,沒有崩潰,並且需要可接受的時間來加載&運行。我不知道這是因爲虛擬機的堆內存是不夠的,所以我試圖增加的eclipse.ini VM內存值,之後我還關閉了Eclipse並重新啓動它:

--launcher.XXMaxPermSize1024米-XX:MaxPermSize = 1024m -Xms256m -Xmx1024m

但它不起作用。雖然它在設備上運行良好,但我需要調試遊戲匹配的斷點,步進。沒有調試,這將是非常糟糕的。任何人都知道這件事,請幫助我。

注意:我正在調試設備上的opengles遊戲(我提到的是dell streak pad),所以模擬器不支持opengles就沒有問題。

回答

0

模擬器此時不能做opengl,你只能用真實的設備來測試opengl應用程序。

+0

我正在調試我的戴爾條紋墊。即使如此,我仍然需要eclipse來調試它。沒有eclipse調試,它運行良好。 – David 2012-02-25 08:19:29

相關問題