我计划为低互联网带宽的新兴市场开发应用程序。该应用程序需要互联网连接才能运行。
我需要这个应用程序有一个小的apk大小(不超过 10mb )并在 3G 网络上工作。
根据我的研究,如果我从React Native中删除 x86 JS二进制文件,则apk大小可能小到4mb。我想4mb不包含JS文件和图像,所以客户端需要在他/她打开应用程序时第一次下载,这是正确的吗?
如果我想要一个小于10mb的apk大小适用于3G的应用程序以及使其高效的最佳实践,那么使用React Native通常是一个好主意吗?
答案 0 :(得分:20)
相反,删除影响较小的js,你应该追求二进制资源,如字体和嵌入图像。 除此之外,这些技术可能适合您:
1)启用Proguard:
要启用Proguard,请编辑android / app / build.gradle:
def enableProguardInReleaseBuilds = true
生成单独的构建:
2)在app / build.gradle中
def enableSeparateBuildPerCPUArchitecture = true
3)从abiFilters中删除x86
以下是对您可能会觉得有用的链接的引用:
关于减小apk尺寸的博客:
https://realm.io/news/reducing-apk-size-native-libraries/
链接游戏商店中最小的RN应用程序之一:
https://github.com/sonnylazuardi/ziliun-react-native
有关apk大小的React Native Issue的有用讨论:
答案 1 :(得分:3)
如果您只想要应用程序大小较小的应用程序,请使用本机平台本身。原生Android应用程序的最小大小为1 MB。您不能将本机应用程序的大小减小到4 MB以下。