проблема:
приложение на смартфоне при загрузке (из pickle файла) большого количества элементов (больше 4) приложение вываливается
тогда как на десктопе все работает
код для сохранения и загрузки элементов
def save_sssn(self): ''' сохранение sssn ''' data_save = {} try: for i in self.ids.grd.children: data_save.update( {i.ids.num_btn.text: [i.example, i.value_example_msg]}) cfg = i.cfg_msg data_save.update({'rule': self.rule, 'the_day': self.the_day}) with open(cfg, 'r') as f: f_read = f.read() data_save.update({'cfg': f_read}) with open('~/test.sssn', 'wb') as f: pickle.dump(data_save, f) except Exception as e: self.my_err = e def load_sssn(self): ''' загрузка sssn ''' try: with open('~/test.sssn', "rb") as f: sssn = pickle.load(f) self.ids.grd.clear_widgets() self.t_btn_turn = [] def mk_btn(): self.btn = VButton() self.btn.ids.num_btn.bind( on_press=self.on_release_num_btn) self.btn.ids.time_btn.bind( on_release=self.on_release_decor_time_btn) self.btn.ids.msg_btn.bind( on_release=self.on_release_decor_text_btn) return self.btn for i in range(len(sssn) - 3): self.ids.grd.add_widget(mk_btn()) self.ids.grd.size_hint_y = 1.01 self.grd_resize() self.re_num_t_btn() self.recount_add_mode() for i in self.ids.grd.children: num = i.ids.num_btn.text i.example = sssn[num][0] i.value_example_msg = sssn[num][1] i.update_time_label() i.update_msg_label() except Exception as e: self.my_err = e
нужно:
как отловить что где происходит
…
использую такой код для main.py (это файл для запуска на … эээ … целевой платформе … )
from kivy.lang import Builder from kivy.app import App import screenCommander import traceback xxx = screenCommander.ScreenCommander if __name__ == '__main__': class TestApp(App): def build(self): return xxx() fl = open('/sdcard/test.log', 'w') try: TestApp().run() except Exception as e: a = f"--->\n' {str(traceback.print_exc())}'\n'{str(e)}" print(a, file=fl, flush=True)
сответственнно пишет в test.log
---> ' None' 'weakly-referenced object no longer exists
как получить больше отладочной информации
зы я так понимаю при загрузке у меня теряется доступ к файлу сохраненки
ззы пути не причем т.к. для разных устройст покашто подганяю в ручную