2016-07-04 28 views
7

我計劃開發一款適用於低互聯網帶寬的新興市場的應用程序。該應用程序非常需要互聯網連接才能運行。
我需要這個程序有一個小的apk大小(不超過10MB)和工作在3G網絡。
基於我的研究,如果我刪除x86來自React Native的JS二進制文件,apk的大小可能小至4mb。我猜想4mb不包含JS文件和圖像,所以客戶需要在他/她打開應用程序時第一次下載,這是正確的嗎?
對我來說,如果我想要一款具有低於10mb apk大小的3G應用程序的應用程序,以及使其效率更高的最佳做法,對我來說,使用React Native是否是一個好主意?React Native適合小尺寸apk與低互聯網帶寬

回答

13

取而代之的是對影響非常小的js,你應該去追蹤二進制資源,比如字體和嵌入式圖像。 除了這些,可能對你的工作有以下技術:

1)啓用Proguard的:

要啓用Proguard的,編輯的Android /應用/的build.gradle:

def enableProguardInReleaseBuilds = true 

生成單獨成型:

2)在您的應用程序/的build.gradle設置

​​3210

3)abiFilters

以下刪除x86的是,你會發現有用的鏈接引用:在

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

鏈接最小的RN應用之一:

上的apk的大小遞減博客Play商店:

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

可用的二在scussion陣營本土問題有關的apk大小:

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

+1

我有點好奇爲什麼JS文件不會真的影響apk大小。我添加了一個1MB的js庫。我似乎並沒有真正增加apk大小。爲什麼? – abeikverdi

+0

該程序中是否執行了該JS文件的部分?我認爲,如果文件沒有被執行,它們不包含在最終版本中(這是我的猜測) – Chromonav

+0

js文件被捆綁在應用程序中。它是一個已發佈的簽名apk。這些js文件應該存在的地方.. – abeikverdi

2

如果您只是想要具有較低應用程序大小的應用程序,請使用本機平臺本身。原生android應用的最小尺寸爲1 MB。您無法縮小反應本機應用程序的大小小於4 MB。

+0

權,4MB只要對我的作品作爲其唯一4MB。 jmb文件大小是否包含在4mb中? – abeikverdi

+0

是的。最初的js將被包括在內。 – Sriraman

+0

一旦客戶端第一次加載應用程序,設備從我的服務器獲取js會怎麼樣?這是否減少apk大小? – abeikverdi