There are two approaches to loading screens based on the way images in memory are handled between layouts.
construct.net/en/make-games/manuals/construct-3/tips-and-guides/memory-usage
Specifically:
When the layout ends, all images that are loaded but not used on the next layout are released from memory.
If an object is not placed in the layout view, but events create it at runtime, its images are not pre-loaded.
You can have your "loading screen" be either an intermediate loading layout that will create the objects required on the following layout, or a loading layer that covers the contents of the layout while they are being created.
In both cases, you don't want to place the objects in the layout editor, so that the layout is not required to load everything into memory before starting. If you are using the layout editor to arrange your objects/level, then the first method would be more suitable (Place the objects in the following layout, not the loader layout. They will remain in memory when changing layouts). If not, the second might be more straightforward.
Note that this normally should complete very quickly (thus defeating the purpose of having an animated/interactive loading screen in the first place) unless you're really pushing the limits of memory on the user's device, which is a situation you generally want to actively avoid.