On most devices, the Android platform tries to render a new frame every 16 milliseconds (60 fps). When the work takes longer, then frames are skipped. Another interesting scenario where the work can take longer is when the work involves acquiring a lock (for example, for executing synchronized code).