This solution for "mSurfaceExists = true" does not work for me either. It seems that the surfaceCreated () function is not getting called because super.onWindowVisibilityChanged () is not being called. Thus, the surface is not created, and it does not fall, because threas.start is not called.
, :
thread.start() , .
surfaceDestroyed() thread.join . .
, , surfacecreated , (back key) ( ). , isFinishing() .
, . .