1
我正在使用canvas.drawBitmap方法。這是因爲應用程序在隨機發生時拋出nullpointerexceptions。有沒有一種方法來實現它,這樣繪圖就能正確渲染? 我正在創建一個由單元組成的板子。單元格包含圖像應該在的位置的像素座標。但如上所述,並非所有圖像都顯示出來。 我收到一條錯誤消息,具體是canvas.drawBitmap(bitmap, srcRect, dstRect, paint)
。當我實現canvas.drawBitmap方法時,如何避免內存泄漏?
錯誤:
03-18 13:46:21.615 22880-22932/com.example.sam.matrix E/AndroidRuntime﹕ FATAL EXCEPTION: Game Thread
Process: com.example.sam.matrix, PID: 22880
java.lang.NullPointerException
at com.example.sam.matrix.framework.util.Painter.drawImage(Painter.java:54)
at com.example.sam.matrix.game.state.PlayState.renderCell(PlayState.java:74)
at com.example.sam.matrix.game.state.PlayState.renderBoard(PlayState.java:48)
at com.example.sam.matrix.game.state.PlayState.render(PlayState.java:38)
at com.example.sam.matrix.main.GameView.updateAndRender(GameView.java:109)
at com.example.sam.matrix.main.GameView.run(GameView.java:130)
at java.lang.Thread.run(Thread.java:841)
你在哪裏初始化'canvas'在canvas.drawBitmap(bitmap,null,dstRect,paint);'? – iRuth 2015-03-19 05:23:35
在我的Painter類中,作爲公共類Painter {private} Canvas canvas; – jssmkp 2015-03-19 05:24:44
你在哪裏**初始化**'canvas'?這個 - >'private Canvas canvas;'是'canvas'的**聲明**,而不是它的**初始化**。你應該尋找像'canvas = new Canvas();' – iRuth 2015-03-19 05:27:33