What is the error in my logarithm?

Now I have almost finished my game, but today I am faced with the real problem of anonymity. When I start the game and just wait a few seconds, the program automatically shuts down. And I do not want to do this.

This shows my logarithm:

01-22 16:20:31.232: DEBUG/szipinf(333): Initializing inflate state 01-22 16:20:31.563: DEBUG/PhoneWindow(333): couldn't save which view has focus because the focused view com.JDLApps.Snake.FrameWork.AndroidFastRenderView@4050f950 has no id. 01-22 16:20:36.362: WARN/ActivityManager(73): Activity pause timeout for HistoryRecord{406532f8 com.JDL.Apps.Snake/.SnakeGame} 01-22 16:20:43.682: INFO/ActivityManager(73): Start proc com.android.launcher for activity com.android.launcher/com.android.launcher2.Launcher: pid=358 uid=10026 gids={} 01-22 16:21:20.393: ERROR/InputDispatcher(73): channel '406762c0 com.JDL.Apps.Snake/com.JDL.Apps.Snake.SnakeGame (server)' ~ Consumer closed input channel or an error occurred. events=0x8 01-22 16:21:20.402: ERROR/InputDispatcher(73): channel '406762c0 com.JDL.Apps.Snake/com.JDL.Apps.Snake.SnakeGame (server)' ~ Channel is unrecoverably broken and will be disposed! 01-22 16:21:21.092: INFO/WindowManager(73): WIN DEATH: Window{406762c0 com.JDL.Apps.Snake/com.JDL.Apps.Snake.SnakeGame paused=false} 01-22 16:21:21.142: WARN/ActivityManager(73): Timeout of broadcast BroadcastRecord{40728640 android.intent.action.TIME_TICK} - receiver=android.app.LoadedApk$ReceiverDispatcher$InnerReceiver@ 406300f8, started 56630ms ago 01-22 16:21:21.142: WARN/ActivityManager(73): Receiver during timeout: BroadcastFilter{4062f930 ReceiverList{4062f8b8 73 system/1000 local:406300f8}} 01-22 16:21:21.172: INFO/ActivityManager(73): Process com.JDL.Apps.Snake (pid 333) has died. 01-22 16:21:21.362: INFO/WindowManager(73): WIN DEATH: Window{4072b188 SurfaceView paused=false} 01-22 16:21:21.443: INFO/ActivityManager(73): Low Memory: No more background processes. 

Unfortunately, I don’t have code for sharing, because I don’t know if the program crashed.

EDIT: drawing code:

 @Override public void screen(float deltaTime) { Graphics g = app.getGraphics(); g.drawPixmap(Assets.background, 0, 0); g.drawPixmap(Assets.facebook, 750, 20); g.drawText("SNAKE", 10, 150, Color.BLACK, 150, AndroidGraphics.LEFT, null, 0); g.drawText("START", g.getWidth() / 2, g.getHeight() - 20, Color.BLACK, 120, AndroidGraphics.CENTER, startRec, 0); g.drawText("HIGHSCORE", 20, 275, Color.BLACK, 50, AndroidGraphics.LEFT, highRec, 0); g.drawText("MORE APPS", g.getWidth() - 20, 275, Color.BLACK, 50, AndroidGraphics.RIGHT, moreRec, 0); if (Settings.soundEnabled) g.drawPixmap(Assets.buttons, new Rect(0, 0, 100, 100), new Rect(0, 380, 100, 480)); else g.drawPixmap(Assets.buttons, new Rect(100, 0, 200, 100), new Rect( 0, 380, 100, 480)); } 

drawText method:

 @Override public void drawText(String text, int x, int y, int color, int size, int position, Rect bounds, int rotation) { if (position == LEFT) paint.setTextAlign(Paint.Align.LEFT); else if (position == CENTER) paint.setTextAlign(Paint.Align.CENTER); else if (position == RIGHT) paint.setTextAlign(Paint.Align.RIGHT); else return; paint.setColor(color); Typeface typeface = Typeface.createFromAsset(assets, "typewrite.TTF"); paint.setTypeface(typeface); paint.setTextSize(size); if (bounds != null) { Rect rec = new Rect(); paint.getTextBounds(text, 0, text.length(), rec); bounds.bottom = y; bounds.top = y - rec.height(); if (position == CENTER) { bounds.left = x - rec.width() / 2; bounds.right = x + rec.width() / 2; } else if (position == RIGHT) { bounds.left = x - rec.width(); bounds.right = x; } else if (position == LEFT) { bounds.left = x; bounds.right = x + rec.width(); } else return; } canvas.save(); canvas.rotate(rotation, x, y); canvas.drawText(text, x, y, paint); canvas.restore(); } 
+6
source share
3 answers

You have a memory leak somewhere. See this blog post for developer docs for tools you can use to track. Also see this blog post for programming tips to avoid memory leaks in Android apps.

+10
source
 ~ Channel is unrecoverably broken and will be disposed! 01-22 16:21:21.443: INFO/ActivityManager(73): Low Memory: No more background processes. 

It seems your game uses two memory (or) memory leaks. You may need to record the memory usage of your process using some of the methods described in this discussion, and from there to there.

+3
source

In one-stage debugging, I got a detailed error: you must specify the layout_height attribute in ... This really worked for my situation.

+1
source

Source: https://habr.com/ru/post/906591/


All Articles