Я иногда отключаю глобальный эталонный предел jni для эмулятора Android.Я пытаюсь сохранить около 2000 слов вместе с определениями в моем приложении, и оно терпит неудачу в любом из двух мест: если я использую DOM для анализа файла xml со всеми этими ссылками, это терпит неудачу, когда DOM вытягивает дерево в память.Если я использую SAX, он не работает, когда я добираюсь до 2000-го элемента.
У кого-нибудь есть ссылка на то, как я могу отключить проверку (я понимаю, что она не существует на реальных машинах, и я пытаюсь сохранить 2000 небольших объектов в памяти)?Если нет, есть ли хороший способ отладить это?Объекты, которые накапливаются, представляют собой строки:
09-20 16:24:00.278: WARN/dalvikvm(625): 1879 of Ljava/lang/String; 28B (1877 unique)
Я попытался запустить avd с -nojni
и с помощью adb
установить dalvik.vm.checkjni
C:\android-sdk-windows\tools>adb shell getprop dalvik.vm.checkjni
false
Хотя logcat показывает "CheckJNI выключен ", он все еще умирает с ограничением globalref 2001.
Кроме того, после секции синтаксического анализа память возвращается, как я вижу:
09-20 16:31:23.238: DEBUG/dalvikvm(654): GC_EXPLICIT freed 1157 objects / 48208 bytes in 147ms
09-20 16:31:23.258: DEBUG/dalvikvm(654): GREF has decreased to 1799
09-20 16:31:23.278: DEBUG/dalvikvm(654): GREF has decreased to 1699
09-20 16:31:23.287: DEBUG/dalvikvm(654): GREF has decreased to 1599
09-20 16:31:23.309: DEBUG/dalvikvm(654): GREF has decreased to 1499
09-20 16:31:23.328: DEBUG/dalvikvm(654): GREF has decreased to 1399
09-20 16:31:23.338: DEBUG/dalvikvm(654): GREF has decreased to 1299
09-20 16:31:23.367: DEBUG/dalvikvm(654): GREF has decreased to 1199
09-20 16:31:23.367: DEBUG/dalvikvm(654): GREF has decreased to 1099
09-20 16:31:23.398: DEBUG/dalvikvm(654): GREF has decreased to 999
09-20 16:31:23.398: DEBUG/dalvikvm(654): GREF has decreased to 899
09-20 16:31:23.408: DEBUG/dalvikvm(654): GREF has decreased to 799
09-20 16:31:23.418: DEBUG/dalvikvm(654): GREF has decreased to 699
09-20 16:31:23.418: DEBUG/dalvikvm(654): GREF has decreased to 599
09-20 16:31:23.437: DEBUG/dalvikvm(654): GREF has decreased to 499
09-20 16:31:23.447: DEBUG/dalvikvm(654): GREF has decreased to 399
09-20 16:31:23.447: DEBUG/dalvikvm(654): GREF has decreased to 299
09-20 16:31:23.469: DEBUG/dalvikvm(654): GREF has decreased to 199
Так что я неНе думаю, что это моя хэш-карта, содержащая объекты слова, которая на самом деле является проблемой.Единственная идея, которую я оставил, - это разрезать xml-файл на кратные, но это может показаться нелегким решением.
Большое спасибо!