如何使用Python 2.7和Kivy预加载或缓存图像

时间:2018-03-03 11:28:05

标签: python python-2.7 kivy

这可能是一个基本问题,但我仍然在学习Kivy,我不知道该怎么做。

我用Python 2.7和Kivy编写的程序读取一个充满图像的文件夹,然后在用户点击时一次显示一个。

现在,我正在调用一个函数,只需点击一下按钮即可读取下一个图像。这意味着我在每张图片之间有一点滞后。

我想在开头加载所有图片,或者至少加载其中的一些图片,以便在点击图片时不会出现滞后现象。

我不确定这是在Python方面还是在Kivy方面完成,但我感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

当您在文件夹中包含大量图像时,将所有图像加载到内存中将会出现问题,但您可能会将下一个图像作为源隐藏图像(甚至不需要将图像添加到窗口小部件树中,你可以把它保存在应用程序的属性中),所以每次用户加载下一个图像时,它都会立即显示,因为它已经缓存,当用户正在查看此图像时,第二个图像窗口小部件保持不可见,会开始加载下一张图片。

当然,如果你想加载1个以上的图像,你必须做一些更聪明的事情,你可以在内存中有一个Image小部件列表,并且总是用下一个替换当前显示的源代码。预取)。