title: Kivy app with many screens
body: <p>My kivy app has nearly 100 screens. I am using ScreenManager to load the screens on startup (code below), but this is causing the app to take 30 seconds to load. Is there a more efficient way to handle screens in kivy, so screens only load when they are needed instead of loading all screens at app launch? I've seen kivy's switch_to(), but I'm unsure of how to use this instead of the <code>on_press: root.manager.current = 'login'</code> in a Button widget, for instance, or if switch_to() is even appropriate for this use case. What is the best practice for efficiently loading and switching between screens in a kivy app that has many screens?</p>
  
  <pre><code>class LoginScreen(Screen):
     ...
  
  
  class GameApp(App):
  
      sm = ScreenManager()
  
      def build(self):
  
          self.sm.add_widget(LoginScreen(name='login'))
          self.sm.add_widget(SignUpScreen(name='signup'))
          ...
  </code></pre>