Best practices to avoid crash on android

Thanks for trying, Rob! Just so you know, since you properly nested your code within the ‘then do’ slots you won’t have a race condition (unless there’s a bug on our side) . That’s precisely why we have that slot - it’s contents aren’t executed until the asynchronous operation is done.

-Mark

Just out of curiosity: did you manage to reproduce the crashes with the code I shared?

Regards Rob

Yep! The problem seems to be related to the Drawer Navigator. If we take the two screens out of the Drawer Navigator we don’t get the crash. For now, I might suggest using using a Tab Navigator (or no explicit navigator) as a workaround while we figure out what’s going on.

-Mark

Hi Mark,
Good to know that it maybe helping to pinpoint the issue!

Unfortunately, using a tab navigator or no navigator at all is not really an option: I don’t want users to be able to ‘swipe back’ to previous screens, and when I don’t use a navigator, I do not have a way to disable ‘swipe back’ functionality. That is why I use a navigator as a workaround because in the navigators, I do have the option to disable ‘swipe’ functionality. The tab Navigator is also not an option (I used that in the first versions of the project), but it seems that the number of screens for a Tab navigator is limited, that is why I switched to a drawer navigator. See http://community.thunkable.com/t/help-tabnavigator-number-of-screens/33310 for details.

So I guess I will just have to wait until this issue is fixed.
Does not really matter, because I am stuck for the time being anyway because I really need access to the device clock to be able to finish my app :neutral_face: Still hoping that that will be implemented sometime soon :stuck_out_tongue: (see http://community.thunkable.com/t/help-feature-request-access-to-device-clock-enhanced-timer/33396 if you are interested in the details)

Still love your product and I hope that additional components will be added soon!

Regards, Rob

And while we are at it: I understand that the tab navigator is getting an overhaul (icons). Maybe it is an idea to als o include an option to add more than 5 screens and if that is the case have the last visible tab show … and then expand vertically with the other tabs if that tab is pressed? Something like:

Image-1

Regards Rob

Thanks, Rob. I hadn’t realized the context of your use of the drawer navigator. I think that the best option for you ultimately is for us to add the ability to disable the swipe for stack navigators. I’ve put that on our internal issues list.

-Mark

1 Like

Rob, my understanding from your earlier post here, is that the problem had to do with nesting of Tab Navigators. I am able to create a Tab Navigator with 10 screens, for example. That said, if you really do want a feature like you’re describing, please create a feature request at https://github.com/thunkable/thunkable-issues/issues/

Thanks in advance.

-Mark

Thanks Mark!

As to the tab navigator: English is not my native language, so maybe I explained the issue a bit clumsy…
I will experiment a bit more with it. I was also able to create a tab navigator with more than 10 screens, but at a certain point, the app started crashing when I navigated from one screen to another. When I removed some screens everything started working again. I played a bit with adding and removing screens and 5 screens seemed to be the limit (so able to add more screens in the designer, but when I run on an actual device, the app kept crashing when there were more than 5 screens). So then I tried nesting navigators, which didn’t work either. In the end I tried the drawer navigator, and everything seemed to work. So I assumed that it had something to do with the tab navigator.

I will do some more testing/experimenting.

Thanks again for your reply!

Regards Rob