Я пытаюсь создать простое приложение с множеством экранов, использующее Kivy и Python, которое содержит текстовую информацию. Я действительно новичок в кодировании. Проблема в том, что когда я делаю apk с помощью Buildozer, на моем телефоне запускается около 10 секунд (5 секунд - заставка, затем 5 секунд черный экран).
Мне кажется, проблема в том, что приложение пытается загрузить каждый экран во время запуска. Есть ли способ заставить приложение загружаться быстрее?
main.py
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.scrollview import ScrollView
from kivy.properties import StringProperty
from kivy.uix.label import Label
class HomeScreen(Screen):
pass
class ScrollableLabel(ScrollView):
pass
class FirstScreen(Screen):
pass
class SecondScreen(Screen):
pass
...
class FortyScreen(Screen):
pass
GUI = Builder.load_file("main.kv")
class MainApp(App):
def build(self):
return GUI
def change_screen(self, screen_name):
screen_manager = self.root.ids['screen_manager']
screen_manager.current = screen_name
MainApp().run()
main.kv
#:include firstscreen.kv
#:include secondscreen.kv
...
#:include fortyscreen.kv
GridLayout:
cols: 1
ScreenManager:
id: screen_manager
HomeScreen:
name: "home_screen"
id: home_screen
FirstScreen:
name: "first_screen"
id: first_screen
SecondScreen:
name: "second_screen"
id: second_screen
...
FortyScreen:
name: "normal"
id: normal
firstscreen.kv
<FirstScreen>:
GridLayout:
padding: [15,0,15,15]
canvas:
Color:
rgb: utils.get_color_from_hex("#ffffff")
Rectangle:
size: self.size
pos: self.pos
cols:1
ScrollView:
Label:
color: 0, 0, 0, 1
background_color: 255, 255, 255, 1
size_hint_y: None
height: self.texture_size[1]
text_size: self.width, None
text:"""Really long long string""" * 40
BoxLayout:
cols:2
size_hint_y: None
Button:
color: 0, 0, 0, 1
size_hint_y: None
background_color: 255, 255, 255, 1
text:
"Menu"
on_release:
app.change_screen("home_screen")