Быстрое сравнение строк с помощью Dalvik VM?

1

Я разбираю большой XML файл с помощью SAXParser в Android и задаюсь вопросом, существует ли более быстрый способ сравнения строк? Я слышал слухи, что вы можете использовать Dalvik VM, чтобы сделать что-то, что позволит сэкономить выделенную память и, следовательно, ускорить все это, но я не могу найти что-либо в Интернете.

Может ли кто-нибудь указать мне в правильном направлении либо использовать Dalvik, чтобы ускорить мой синтаксический анализ, либо лучший, более быстрый способ анализа XML?

Теги:
xml-parsing
string-comparison
dalvik

2 ответа

1
Лучший ответ

Метод String compareTo() реализован внутри dalvik как специальная ручная процедура сборки. Вряд ли вы сможете превзойти его производительность для сравнения строк

Если это xml файл, который вы загружаете, я не знаю, как ускорить ваше время синтаксического анализа. Однако, если вы можете включить его в apk в качестве ресурса (в папке res/xml), тогда он будет скомпилирован в бинарный XML-формат Android при сборке apk, и вы сможете получить к нему доступ через XmlResourceParser, что должно быть значительно Быстрее

1

Я бы использовал старую String.compareTo(String).

Более быстрый способ может существовать прямо сейчас, но compareTo() является стандартным способом и, следовательно, является единственным, что будет полезно для будущих оптимизаций, сделанных Android. Поэтому в конце оптимизированное сравнение может стать медленнее, чем стандартный способ.

Это очень похоже на время доступа к полям членов. В начале Android было гораздо быстрее сделать

final AnyClass local = mMyMember;
local.something();

чем

mMyMember.something();

Но это уже не так.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню