Холст в AsyncTask - PullRequest
       29

Холст в AsyncTask

0 голосов
/ 26 сентября 2019

Я хочу нарисовать много растровых изображений на холсте и использовать этот код, но он ломается при запуске.[Cloud_number] превышает 50. Вот мой код:

класс Canvass (контекст: контекст): просмотр (контекст) {

 override fun onDraw(canvas: Canvas) {
      super.onDraw(canvas)        
       cv=canvas
      draw_beautiful_async(canvas)         
       invalidate()

 }
fun draw_beautiful_async(canvas: Canvas) {
    MyDrawingWorkerTask().execute()
}

}

class MyDrawingWorkerTask() : AsyncTask<Canvas, Void, Void>() {

 override fun doInBackground(vararg canvases: Canvas): Void? {
    vt = 0; var x1 = 0f; var y1 = 0f;  var style = 0

    for (i in 1..cloud_number) {
        vt = i * 4 - 3
        style = mt_cloud[vt]
        x1 = mt_cloud[vt + 2].toFloat()
        y1 = mt_cloud[vt + 3].toFloat()            

        cv.drawBitmap(canvas_cloud1, x1, y1, mPaint)

    }
    return null
}

}

...