π§΅ figuring out why @telepass is almost half a GB
For those who are unfamiliar with it, Telepass is an electronic toll collection system used primarily in Italy and other parts of Europe. Here's the general breakdown
It's a flutter app πͺ½
Total install size - 457 MB
Frameworks - 417 MB π«¨
Main app target - 25 MB
91% of install size is due to frameworks, 293 of them to be exact
There are a number of reasons that apps would have so many frameworks, but usually it's to support complex functionality in the app, or to make the app more modular and independent for teams working in parallel
In this case, the frameworks indicate a ton of app features, such as
Address search
Car tax management
Car Insurance
Vehicle repair
Wallet & payments
Parking services
User auth
Support requests
Analytics
Anyways, with the frameworks taking up so much of the overall app size, there's not much else to see within the app, but we did find some insights that could help shave off ~13% of install size
Here's a thread on the Philips Hue app (another flutter app) that was also mostly frameworks
The apps went above that, reducing app size by ~300 MB
The main optimization came from renivubg TardisHybridContainer, which is where the vast majority of bloat came from in each app. Basically this was a mess of a dynamic framework w/ inefficient assets + a large jsbundle