使用PyInstaller创建的应用启动缓慢
我有一个用Python编写的应用程序,并与PyInstaller进行了“编译”。它还将PyQt用于GUI框架。
加载并显示主窗口之前,运行此应用程序大约有10秒钟的延迟。据我所知,这不是由于我的代码慢。相反,我怀疑这是由于Python运行时初始化引起的。
问题在于此应用程序是使用自定义laucncher /
taskbar应用程序启动的。用户将单击按钮启动该应用程序,看不到任何反应,然后单击另一个应用程序上的其他位置。当我的应用程序显示它的窗口时,由于SetForegroundWindow的规则,它无法进入前台。
我可以访问PyInstaller win32加载器,Python代码甚至启动器代码的源代码。
我的问题是:
-
如何使该应用程序启动更快?
-
我如何衡量流程生命周期的前几秒所花费的时间?
-
减少显示第一个窗口所需时间的普遍接受的技术是什么?
我想避免添加启动画面,原因有二:一,我希望它没有帮助(开销在运行Python代码之前),二,我只是不喜欢启动画面:)
如果需要的话,我可能可以编辑PyInstaller加载程序存根以创建一个窗口,但这是我不希望采用的另一种方法。