Are App Inventor Projects Limited to 10 Screens?

The App Inventor limit is only 10 screens, so you'll have to limit your app to only so many.

Also, we'll need more information about your app (what will it do; what information will it contain; and such).

2 Likes

There is no screen limitation.

It's an etiquette, not a feature limitation; more than 10 screens would usually cause memory problems:

4 Likes

I have seen a person had created 63 screens and his app works correctly

Let's not get off topic here. It is advised to use less then 10 screens. See number 1.

2 Likes

There isn't a hard limit on the number of Screens in an app.

When used properly, multiple screens are a perfectly reasonable way to organize your app. For example, in a app for finding restaurants you may have a main screen with a map, a second screen that shows restaurant data, a third that shows menu contents, a forth that shows pictures of food, a fifth that shows reviews, etc. In this design each screen is a view over some model (cf. model-view-controller design pattern). The wrong way to use screens is to create a screen for each individual instance in your model (i.e., a screen for ABC restaurant, a screen for XYZ restaurant, etc.), which is often how screens are used because beginners haven't yet internalized the abstractions necessary to know when it makes sense to really use a new screen versus reuse an existing screen.

It's also not true that many screens necessarily implies memory issues when the app is running on the device. Android will first try to kill other applications that are not active to free up memory. With proper management, you can certainly build a multi-screen app that never runs into memory issues by closing screens to pop them off the activity stack. Conversely, you can also build an app with 2 screens that will overflow memory by constantly having one open the other and vice versa, effectively attempting to put an infinite number of screens onto the (finite) stack.

The other major consideration around number of screens is from a performance perspective in App Inventor itself, namely that it needs to load these files from the server (each screen is 2 files--designer and blocks), which takes time. There are also some not-quite-efficient design choices in App Inventor because it was originally designed to only model a single screen. These design choices cause multi-screen apps to take quite a bit of time to load and for the browser to use quite a bit of memory to support them. All screens are "open" at once in App Inventor but only one is ever shown at a time, and so this extra memory cost can slow down the website on older hardware and computers with limited memory. I have previously worked on some changes to address these performance issues but they are not yet in production.

9 Likes

A post was split to a new topic: How do you make a quiz in one screen?