Comparing APK sizes

For apps in Flutter, React Native, Kotlin and Java

Image for post
Image for post
Image for post
Image for post
Simple Hello World app
  • The apks were then published for release type using Android Studio for Java and Kotlin and using the cli for React Native and Flutter.
  • Default proguard configuration was used.
  • The apks were analyzed using the Analyze APK feature in Android Studio.

Java (539 KB)

Lets start with the simplest one — Java. As you would expect this would be the smallest in size given that we are using just Java and the Android framework to create this app, with the only dependency being the Android Support Library, which you can see here takes up quite a lot of space.

Image for post
Image for post

Kotlin (550 KB)

Next up, the fancy kid on the block — Kotlin. If you have been coding a long time in Java, Kotlin is a breath of fresh air. The release apk for the Kotlin app comprises of everything that we saw in the Java apk, plus a tiny portion of Kotlin based syntactic sugar info.

Image for post
Image for post

React Native (7 MB)

If you are coming from the web world and want to do most of the mobile development using javascript React Native is your go to option. It is also helpful if you want to iterate faster on a feature without releasing the app for every little change.

Image for post
Image for post
Apk breakdown for Hello World in React Native (classes.dex)
Image for post
Image for post
Apk breakdown for Hello World in React Native (native dependencies)

Flutter.io (7.5 MB)

The release app generated by Flutter’s cli contains the C/C++ engine and the Dart VM which makes up almost all the of the apk. The app directly runs using the native instruction set and no interpreter is involved.

Image for post
Image for post
Apk breakdown for Hello World in Flutter

Android human loving all things Android since 2010. Apart from geeky stuff I like looong drives and reading non-fiction books.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store