Kivy应用程序需要30秒才能打开

时间:2014-08-19 18:57:40

标签: android python ios python-2.7 kivy

在iOS和Android设备上打开Kivy应用程序大约需要30秒(在Mac OSX上打开只需3秒钟......在Windows上没有尝试过)。 kivy-ios包用于构建iOS应用程序,buildozer用于构建Android应用程序。

用于在iPhone上打开应用程序的控制台日志如下所示。我对导致启动时间慢的原因感到茫然。

Aug 19 13:29:29 My-iPhone kernel[0] <Debug>: launchd[2943] Container: /private/var/mobile/Applications/5CCB9A16-0288-4075-8269-212FD5AB2767 (sandbox)
Aug 19 13:29:29 My-iPhone backboardd[28] <Error>: HID: The 'Passive' connection 'my_app' access to protected services is denied.
Aug 19 13:29:30 My-iPhone my_app[2943] <Warning>: PythonHome is: /var/mobile/Applications/5CCB9A16-0288-4075-8269-212FD5AB2767/my_app.app
Aug 19 13:29:30 My-iPhone my_app[2943] <Warning>: Initializing python
Aug 19 13:29:31 My-iPhone my_app[2943] <Warning>: Running main.pyo: /var/mobile/Applications/5CCB9A16-0288-4075-8269-212FD5AB2767/my_app.app/YourApp/main.pyo
Aug 19 13:29:31 My-iPhone backboardd[28] <Warning>: CoreAnimation: timed out fence 2caa7
Aug 19 13:29:31 My-iPhone SpringBoard[34] <Warning>: CoreAnimation: failed to receive fence reply: 10004003
Aug 19 13:29:31 My-iPhone backboardd[28] <Warning>: CoreAnimation: updates deferred for too long

编辑:该应用程序在首次启动和后续启动时需要大约30秒才能打开。

1 个答案:

答案 0 :(得分:3)

正如Ryan P在评论中所说,第一次运行将需要更长时间,但它不应该需要30秒。

通常重要的一件事是应用程序不仅会执行一些必要的解包(第一次运行)和应用程序初始化(每次运行),还会运行main.py中的代码和任何内容app build()方法。如果这很重要,则需要一些时间,但在此期间用户不会看到任何内容。你可以通过从最小的gui开始并更加懒惰地加载其余的来避免这个问题。

您可能还希望将您的效果与其他kivy应用进行基准测试,例如Play商店中的kivy 2048。我不知道Mathieu是否花了很多时间来优化这一点,但它应该至少表现得非常合理。如果它的加载速度比你的快得多,问题在于你的代码/ apk。

我们通常建议kivy执行其初始化所需的时间不应超过几秒(特别是在第一次运行之后),对于需要小心的新设备上的应用程序通常不到一秒钟。

编辑:我应该澄清以上内容来自我对Kivy的android工具链的了解。我不知道ios的任何细节,虽然它非常相似,你可以期待类似的事情变得重要。