2016-07-04 25 views
7

Sto pianificando di sviluppare un'applicazione per i mercati emergenti con larghezza di banda internet bassa. L'applicazione richiede una connessione Internet per funzionare.
Ho bisogno che questa app abbia una piccola dimensione di apk (non più di 10mb) e lavori sulla rete 3G.
In base alla mia ricerca se rimuovo i file binari x86 JS da React Native la dimensione apk potrebbe essere piccola come 4mb. Suppongo che il 4mb non includa i file JS e le immagini in modo che il client debba scaricarlo la prima volta quando apre l'app, è corretto?
In generale, sarebbe una buona idea utilizzare React Native se voglio un'applicazione con una dimensione apk inferiore a 10mb che funzioni su 3G e quali sono le migliori pratiche per renderlo efficiente?React Native per apk di piccole dimensioni con larghezza di banda internet bassa

risposta

13

Invece di rimuovere js che hanno un impatto molto minore, si dovrebbe andare dopo risorse binarie come font e immagini incorporate. A parte che queste sono seguenti tecniche che possono funzionare per voi:

1) Proguard Abilitazione:

Per abilitare Proguard, modificare Android/app/build.gradle:

def enableProguardInReleaseBuilds = true 

Genera separato Builds :

2) Nella tua app/build.gradle set

def enableSeparateBuildPerCPUArchitecture = true 

3) Rimuovere x86 da abiFilters

Di seguito sono riportati i riferimenti ai collegamenti che si possono trovare utili:

Blog su diminuire delle dimensioni del apk:

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

link uno dei più piccoli RN app su play store:

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

di utili scussion su Reagire Problema Native quanto riguarda le dimensioni apk:

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

+1

Sono curioso di sapere perché i file JS non influenzano davvero la dimensione dell'apk. Ho aggiunto una libreria js 1mb. Non sembra davvero aumentare la dimensione dell'apk. Perchè è così? – abeikverdi

+0

Le parti di quel file JS sono state eseguite nel programma ?? Penso che, se il file non viene eseguito, non sono inclusi nelle build finali. (Questa è la mia ipotesi) – Chromonav

+0

I file js sono raggruppati nell'app. È un apk firmato. Quei file js dovrebbero esistere da qualche parte .. – abeikverdi

2

Se si desidera solo l'app con una dimensione inferiore dell'app, utilizzare la piattaforma nativa stessa. La dimensione minima dell'app nativa per Android sarà 1 MB. Non è possibile ridurre la dimensione dell'app reattiva nativa inferiore a 4 MB.

+0

destra, 4mb per me funziona fintanto che la sua unica 4mb. La dimensione del file js è inclusa in quella 4mb? – abeikverdi

+0

Sì. Sarà incluso js iniziale. – Sriraman

+0

Cosa succede se il dispositivo riceve il js dal mio server quando il client carica l'app per la prima volta? questo riduce la dimensione dell'apk? – abeikverdi