Dalvik ma to znane ograniczenie liczby metod, jakie może mieć w jednym pliku .dex
(około 65 536 z nich). Moje pytanie brzmi, czy odziedziczone (ale nie przesłonięte) metody liczą się z tym limitem, czy nie.Czy odziedziczone metody liczą się z limitem metody Dex w systemie Android?
Żeby beton, załóżmy mam:
public class Foo {
public int foo() {
return 0;
}
}
public class A extends Foo { }
public class B extends Foo { }
public class C extends Foo { }
Do celów limitu 65.536 metoda robi to liczyć jako dodając jedną metodę, lub dodając 4? (Albo, jak sądzę, do rzeczy logicznych do wniosku, czy to liczy się jako 1 metoda lub 52 metody, biorąc pod uwagę, że java.lang.Object
przynosi również 12 metod).
Jako tło, mam nietrywialną liczbę wygenerowanych klas z pewnym podobieństwem, a także podskakuję w stosunku do limitu metody, więc zastanawiam się, czy warto spróbować streścić niektóre z nich w hierarchię klas, aby kupić trochę czasu.
Skoro można zmienić widoczność metody, czy nie ma sensu wymaganie zliczenia wszystkich? [Zobacz tutaj w formacie dex] (http://www.retrodev.com/android/dexformat.html). –
Łącze retrodv jest do żałośnie przestarzałej inżynierii odwrotnej wersji przedpremierowej formatu pliku dex. Wypróbuj, aby uzyskać bardziej wiarygodne i aktualne źródło. –
danfuzz
404 na dex-format.html –