Reputation: 1150
I have build two app bundles for same application by pure react native (version 0.66) and expo bare workflow (expo eject, expo version: 42.0.1, react-native version: 0.63.4 )
Build by | App bundle size (mb) |
---|---|
Pure react native | 29 |
Expo bare (eject) | 14 |
There is a huge size difference (15 mb) between two app bundles.
When I looked into app bundles for my device I found that config.arm64_v8a.apk
has two different sizes.
Build by | config.arm64_v8a.apk (mb) |
base.apk(mb) |
---|---|---|
Pure react native | 18.2 | 12.2 |
Expo bare (eject) | 11.5 | 12.7 |
I couldn't find out why config.arm64_v8a.apk
has two file sizes in these two flows.
Why expo bare workflow app bundle is so small ? Is this because currently expo use react-native 0.63.4 or does expo has some additional app bundle size reducing method(s) ?
Thank you.
Upvotes: 1
Views: 1341
Reputation: 45
Put android:extractNativeLibs="true" into the AndroidManifest.xml under application tag
Upvotes: 0
Reputation: 1365
Expo has recently published a blog post about app bundling.
bundle sizes are also smaller by about 18% in “Hello World” apps. This is because many libraries are already shipped in an optimal format, and by needlessly transforming them with a random Babel cocktail, we increase the size, but only a little bit, and everywhere.
I think it's an interesting read (and good source!) for what you're looking for: https://blog.expo.dev/drastically-faster-bundling-in-react-native-a54f268e0ed1
Upvotes: 1