2016-07-04 12 views
7

Mam zamiar opracować aplikację na rynek wschodzący o niskiej przepustowości Internetu. Aplikacja wymaga do działania połączenia internetowego.
Potrzebuję tej aplikacji, aby mieć mały rozmiar apk (nie więcej niż 10mb) i pracować na sieci 3G.
Na podstawie moich badań usunęłem x86 pliki binarne JS z React Native rozmiar apk może być tak mały jak 4mb. Przypuszczam, że 4MB nie zawiera plików JS i obrazów, więc klient musi pobrać ten pierwszy raz, kiedy otworzy aplikację, czy to prawda?
Czy ogólnie dobrym pomysłem byłoby użycie React Native, jeśli chcę mieć aplikację o wielkości mniejszej niż 10 Mb, która działa w sieci 3G i jakie są najlepsze praktyki, które sprawiają, że jest ona wydajna?React Native dla małych rozmiarów apk z niską przepustowością Internetu

Odpowiedz

13

Zamiast usuwać js, które mają mniejszy wpływ, powinieneś używać zasobów binarnych, takich jak czcionki i osadzone obrazy. Poza tym te są następujące techniki, które mogą pracować dla Ciebie:

1) Włączanie Proguard:

Aby włączyć PROGUARD, edytować Android/app/build.gradle:

def enableProguardInReleaseBuilds = true 

generuje samodzielnie buduje :

2) w aplikacji/build.gradle ustawić

def enableSeparateBuildPerCPUArchitecture = true 

3) Usuń x86 z abiFilters

obserwuję są odnośniki do linków, które mogą okazać się przydatne:

Blog o zmniejszającej się wielkości apk:

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

LINK jednym z najmniejszych aplikacji RN w sprawie sklep play:

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

Przydatne di scussion na React Native Issue dotyczące wielkości apk:

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

+1

Jestem trochę ciekawy, dlaczego pliki JS naprawdę nie wpływają na rozmiar apk. Dodałem bibliotekę 1mb js. Nie wydaje mi się, aby naprawdę zwiększyć rozmiar apk. Dlaczego to jest takie? – abeikverdi

+0

Czy części tego pliku JS były wykonywane w programie? Myślę, że jeśli plik nie jest wykonywany, nie są one zawarte w ostatecznych kompilacjach. (Domyślam się) – Chromonav

+0

Pliki js są pakowane w aplikację. Jest to wydany podpisany apk. Te pliki js powinny gdzieś istnieć .. – abeikverdi

2

Jeśli chcesz tylko aplikację o niższym rozmiarze aplikacji, użyj platformy macierzystej. Minimalny rozmiar natywnej aplikacji na Androida to 1 MB. Nie można zmniejszyć rozmiaru natywnej aplikacji reagującej na mniej niż 4 MB.

+0

rację, 4MB działa na mnie tak długo, jak jej tylko 4MB. Czy w tym 4mb znajduje się rozmiar pliku js? – abeikverdi

+0

Tak. Początkowa js zostanie uwzględniona. – Sriraman

+0

Co się stanie, jeśli urządzenie otrzyma js z mojego serwera, gdy klient załaduje aplikację po raz pierwszy? czy to zmniejsza rozmiar apk? – abeikverdi