Abstract:
An electronic device with one or more processors, memory and a display receives a first request to display a first video stream and in response, displays the first video stream. The device allocates, in accordance with a bandwidth allocation, available bandwidth for receiving data at the device between receiving the first video stream and preloading one or more other, non-displayed, video streams. While displaying the first video stream on the display, the device preloads at least a portion of one or more non-displayed video streams based on the bandwidth allocation. After the preloading, the device receives a second request to display a second video stream. In response to receiving the second request, the device displays at least a portion of the second video stream on the display using a preloaded portion of the second video stream that was preloaded in accordance with the bandwidth allocation.