Kivy / Python: RecycleView использует так много памяти - PullRequest
0 голосов
/ 25 апреля 2020

Я создаю некоторые списки с RecycleView в kivy, но он занимает так много памяти. Пример приведен ниже. В данном примере я обычно добавляю 25000 строк с 10 столбцами в RecycleView, используя Label в качестве ViewClass и занимает около 250 МБ памяти. Есть ли решение для минимизации использования памяти или какой-либо альтернативы?

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.recycleview import RecycleView

Builder.load_string('''
<RV>:
    viewclass: 'Label'
    RecycleGridLayout:
        cols:10
        default_size: None, dp(56)
        default_size_hint: 1, None
        size_hint_y: None
        height: self.minimum_height
        orientation: 'vertical'
''')

class RV(RecycleView):
    def __init__(self, **kwargs):
        super(RV, self).__init__(**kwargs)
        self.data = []

        for x in range(1, 25000):
            self.data.append({'text': str(x)})
            self.data.append({'text': 'This is test.'})
            self.data.append({'text': 'This is test.'})
            self.data.append({'text': 'This is test.'})
            self.data.append({'text': 'This is test.'})
            self.data.append({'text': 'This is test.'})
            self.data.append({'text': 'This is test.'})
            self.data.append({'text': 'This is test.'})
            self.data.append({'text': 'This is test.'})
            self.data.append({'text': 'This is test.'})

class MyApp(App):
    def build(self):
        return RV()

myapp=MyApp()
myapp.run()

...