This sounds like a bad implementation... why are you trigging calls for each card on the app pages? You wouldn't do that on a website....
Mobile Apps should still be fundamentally tracked the way you would a website:
- trackState is the equivalent of your Page View (s.t) calls, and you would attach all the relevant dimensions and metrics to this call as you would when tracking a page on the web
- trackAction is the equivalent of your Click / Action (s.tl) calls, and you would attach all the relevant dimensions and metrics to this call as you would when tracking a click or success or whatever on the web
I've seen a lot of people misunderstand those distinctions, believing that the trackAction is where you attach dimensions, and so they would trigger a basic trackState with a page name and no other data, the create a trackState for each dimension / metric that they need... this is not the correct way of doing this, and it sounds like this might be similar to your situation.
Your developers control what tracking calls to make and what is attached to them, if you need a home page view with 5 dimensions and 3 metrics, they should be able to configure that and send it all on a single trackState when the app's home page is loaded. The latency of the cards shouldn't have any impact... if there are dimension/metrics needed relative to those cards, and the developer needs them to load to understand them, they should be able to wait for them to load, bundle the information and send it in a single call.