Jest to tak proste, jak to
Pojedynczy plik .dex może mieć 65,536 metod (referencje), więc jeśli liczba odniesień przekracza 65536, idziesz z wielowątkowy.
Więcej wyjaśnienie!
Aplikacja na Androida jest skompilowana do pliku .dex, który z kolei jest spakowany do pojedynczego pliku .apk.
DVM (Dalvik Virtual Machine) używa plików/plików .dex do wykonania kodu bajtowego.
Co powoduje, że liczba referencji przekracza 65 536 limit?
Metody napisane przez ciebie + Metody systemu Android + Biblioteka innych osób (np. Volley, Retrofit, Facebook SDK itp.).
Czytałem „gdzieś”
App Compat 24.2.1 zawiera 16.5k metod
Google Play GCM 9.6.1 zawiera 16.7k metod
Więc jeśli stworzyliśmy prostą aplikację Witaj świecie, który App COMPAT 24.2. 1, jesteś już 1/4 sposób przekroczyć pojedyncze metody dex ograniczyć
Jakiś pomysł, jak duży byłby to kod (LOC, lub przybliżony # ekranów)?Czy osiągniesz ten limit w prostych aplikacjach na ekranach 5-6, czy naprawdę jest o wiele dalej (np. 10-20 ekranów), które prawdopodobnie trafisz? – Marchy
@Marchy: Zwykle pochodzi z dodawania zbyt wielu bibliotek . Trudno projektowi bez biblioteki osiągnąć ten limit. – CommonsWare
Mam małą aplikację, która korzysta z około 5 bibliotek wsparcia google, a także Fabric.io i 2 lub 3 inne biblioteki stron trzecich i muszę korzystać z wielu elementów. –