This may be a basic question, but I'm still learning Kivy and I'm not sure how to do this.
The program that I'm writing with Python 2.7 and Kivy reads a folder full of images, and then will display them one at a time as the user clicks through. 
Right now, I'm calling a function that reads the next image on the click of a button. This means that I have a bit of lag between each image.
I'd like to load all the images in the beginning, or at least some of them, so that there isn't a lag as I click through the images. 
I'm not sure if this is done on the Python side or the Kivy side, but I appreciate any help!
Loading all your images in memory will be a problem when you have a lot of images in the folder, but you could have a hidden image with the next image as source (it's not even needed to add the Image to the widget tree, you could just keep it in an attribute of your app), so everytime the user load the next image, it's displayed instantly, since it's cached already, and while the user is looking at this image, the second image widget, which stays invisible, would start loading the next image.
Of course, if you want to load more than 1 image, you'll have to do something more clever, you could have a list of Image widgets in memory, and always replace the currently displayed source with the next in line for pre-fetching).
How can I pre-load or cache images with Python 2.7 and Kivy