[Question] Unity 2D Android game : Playspace and objects flickering and disappearing from game view after sometime of playing.

Hi,
I designed a simple game for Android and was testing it (running smoothly for sometime) when suddenly the screen flickered and the player and the ground etc (the entire playspace, to be precise) disappeared from the Game view and only the camera background color (which I had set to brown) was visible for a few moments. Then the game resumed again and I was able to play when unexpectedy this happened again.
All this time, the game was still going on, as seen from the Scene view.

Below is my code. I have also attached a couple of screenshots of the behaviour.
This is intermittently happening after playing the game for sometime.

Could anyone please assist on how to get this resolved?
Many thanks in advance for the help!

NOTE: I am using Cinemachine virtual cam to make the camera follow the player.

Code:-

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
    Rigidbody2D rb;

    Vector2 touchStartPos = Vector2.zero;
    Vector2 touchEndPos = Vector2.zero;

    Vector3 screenCenter;

    const float moveSpeed = 8f;
    const float jumpForce = 700f;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    // Update is called once per frame
    void Update()
    {
        HandleMovement();
    }

    private void HandleMovement()
    {
        if (Input.touchCount > 0)
        {
            for (int i = 0; i < Input.touchCount; i++)
            {
                Touch touch = Input.touches*;*

if (touch.phase == TouchPhase.Began)
{
touchStartPos = Camera.main.ScreenToWorldPoint(touch.position);
screenCenter = Camera.main.ScreenToWorldPoint(new Vector2(Screen.width * 0.5f, Screen.height * 0.5f));

if (touchStartPos.y < screenCenter.y)
{
float xVel;
if (touchStartPos.x < screenCenter.x)
{
xVel = -moveSpeed;
}
else
{
xVel = moveSpeed;
}

rb.velocity = new Vector2(xVel, rb.velocity.y);
}
else
{
if (IsGrounded() == true)
{
rb.AddForce(new Vector2(rb.velocity.x, jumpForce));
}
}
}
}
}
else
{
rb.velocity = new Vector2(0, rb.velocity.y);
}
}

private bool IsGrounded()
{
int layerMask = ~(LayerMask.GetMask(“Player”));
RaycastHit2D hitInfo = Physics2D.Raycast(transform.position, Vector2.down, 1f, layerMask);

if (hitInfo.collider != null)
{
return true;
}
else
{
return false;
}
}
}

Did you fix your problem? Im facing the same issue…