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

Android Kivy应用程序需要30秒才能打开,android,python,ios,python-2.7,kivy,Android,Python,Ios,Python 2.7,Kivy,在iOS和Android设备上打开Kivy应用程序大约需要30秒(在MacOSX上打开只需要3秒……还没有在Windows上尝试过)。kivy ios软件包用于构建ios应用程序,buildozer用于构建Android应用程序 在iPhone上打开应用程序的控制台日志如下。我不知道是什么原因导致启动时间变慢 Aug 19 13:29:29 My-iPhone kernel[0] <Debug>: launchd[2943] Container: /private/var/mobil

在iOS和Android设备上打开Kivy应用程序大约需要30秒(在MacOSX上打开只需要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
8月19日13:29:29我的iPhone内核[0]:启动[2943]容器:/private/var/mobile/Applications/5CCB9A16-0288-4075-8269-212FD5AB2767(沙箱)
8月19日13:29:29我的iPhone BackboardDD[28]:HID:对受保护服务的“被动”连接“我的应用程序”访问被拒绝。
8月19日13:29:30我的iPhone My_app[2943]:PythonHome is:/var/mobile/Applications/5CCB9A16-0288-4075-8269-212FD5AB2767/My_app.app
8月19日13:29:30我的iPhone My_应用程序[2943]:初始化python
8月19日13:29:31我的iPhone My_app[2943]:运行main.pyo:/var/mobile/Applications/5CCB9A16-0288-4075-8269-212FD5AB2767/My_app.app/YourApp/main.pyo
8月19日13:29:31我的iPhone背板DD[28]:CoreAnimation:围栏2caa7超时
8月19日13:29:31我的iPhone SpringBoard[34]:CoreAnimation:未能收到fence回复:10004003
8月19日13:29:31我的iPhone BackboardDD[28]:CoreAnimation:更新延迟太久

编辑:在第一次发布和后续发布时,该应用程序几乎需要30秒才能打开。

正如Ryan p在评论中所说,第一次运行需要更长时间,但不需要30秒

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

您可能还希望将您的性能与另一款kivy应用程序(如play store上的)进行对比。我不知道Mathieu是否为此花了很多时间进行优化,但它至少应该表现得非常合理。如果加载速度比您的快得多,那么问题在于您的代码/apk

我们通常建议kivy进行初始化所需的时间不应超过几秒钟(特别是在第一次运行之后),而对于更新设备上谨慎操作的应用程序,通常不到一秒钟


编辑:我应该澄清,以上是我对Kivy android工具链的了解。我不知道ios的任何细节,尽管它非常相似,你可以期待类似的东西也很重要。

通常在跨平台工具中构建应用时,它会打包运行分布式应用所需的实用程序。可能是为了通过python运行它,它必须安装/提交到内存中使用所需的所有文件,然后运行应用程序。我不知道iOS的情况,但在Android上,python代码是从zip文件中提取的——任何应用程序的第一次运行都需要比平常更长的时间。是每次跑步都需要这么长时间,还是仅仅第一次?在我的Android平板电脑上启动一个简单的应用程序需要3秒钟(在第一次运行之后)。感谢您的跟进。但该应用程序在随后的发布中需要大约30秒才能启动,而不仅仅是在第一次发布时。我刚刚编辑了这个问题。我想可能是这样的(第一次运行不会有太大的区别,除非apk很大,SD卡很慢),其余部分才是真正重要的。