React Native for small size apk with low internet bandwidth

匿名 (未验证) 提交于 2019-12-03 02:56:01

问题:

I am planning to develop an app for emerging market with low internet bandwidth. The app heavily requires an internet connection to function.
I need this app to have a small apk size (not more than 10mb) and work on 3G network.
Based on my research if I remove x86 JS binary files from React Native the apk size could be as small as 4mb. I suppose the 4mb does not include the JS files and images so client needs to download that first time when he/she opens the app, is that correct?
Would it in general be a good idea for me to use React Native if I want an app with less than 10mb apk size that works on 3G and what are the best practices to make it efficient?

回答1:

Instead removing js which have very less impact you should go after binary resources such as font and embedded images. Apart from that these are following techniques that may work for you:

1) Enabling Proguard:

To enable Proguard, edit android/app/build.gradle:

def enableProguardInReleaseBuilds = true 

Generate Separate Builds:

2) In your app/build.gradle set

def enableSeparateBuildPerCPUArchitecture = true 

3) Remove x86 from abiFilters

Following are references to links that you may find useful:

Blog on decreasing size of apk:

https://realm.io/news/reducing-apk-size-native-libraries/

Link one of smallest RN app on play store:

https://github.com/sonnylazuardi/ziliun-react-native

Useful discussion on React Native Issue regarding apk size:

https://github.com/facebook/react-native/issues/5037



回答2:

If you just want the app with lower app size, Use native platform itself. Minimum size of the native android app will be 1 MB. You can't reduce the size of the react native app lesser than 4 MB.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!