2012-03-29 3 views
2

После добавления <item>170,000</items> в string.xml. Он становится настолько медленным в создании рабочего пространства, я увеличиваю свое пространство кучи и память jvm, но все же медленно, я должен был ждать 4 часа после каждого редактирования, чтобы сохранить затмение, прежде чем думать о запуске программы.String.xml со слишком большим количеством предметов слишком медленно

Любое решение пожалуйста? (Я использую gnome 3.0 на ubuntu 11.10).

+2

Каковы эти строки в 170k? –

+4

xml-файлы не предназначены для того, чтобы иметь так много данных –

+0

XML-файл не является базой данных. – EJP

ответ

5

Вместо того, чтобы размещать строки в string.xml, почему бы вам не попробовать разместить файл внутри /res/raw, и когда приложение запускается в первый раз, вы вставляете его в db?

+1

Или, еще лучше, используйте ['SQLiteAssetHelper'] (https://github.com/jgilfelt/android-sqlite-asset-helper) и упакуйте базу данных с помощью приложения. – CommonsWare

+0

Я использую считыватель файлов .. его даже хуже. Я использую sql на Java, но не на android, как я использую его на android, мне нужно загрузить программное обеспечение sql для этого. Есть как бесплатный сервер там, где я могу загрузить свой файл и запустить его из приложения Android. – ImGeorge

+0

@ Immanuel.I.George: для этого вам не требуется программное обеспечение sql. Android поставляется с 'SQLite'. – Macarse

0

Непонятно, что именно вы делаете. Как вы строите этот XML-файл? Возможно, вы используете конкатенацию строк Java? Это, безусловно, будет очень медленным. Я бы сделал это, используя что-то вроде XMLStreamWriter. Но вам нужно описать свой сценарий более подробно, например, я не вижу, где Eclipse входит в него.

+0

Фактически Eclipse входит в него. У меня есть 170 000 слов для использования в качестве ссылки или по сравнению с пользовательским вводом, если ее правильное отображение корректно или что-то еще, более сложное. Хорошо, моя самая большая проблема - найти удобный способ хранения этих слов, сначала я использую программу чтения файлов, но ее даже не вижу. Я использовал программу чтения файлов на Java, и было легко просто скопировать файл в папку проекта и просто назвать имя, это было легко. Но на андроиде я не знаю точное место для копирования file.txt. Я также не был уверен, что файл .txt будет упакован в файл .apk. – ImGeorge

+0

SO мой вариант должен был использовать на string.xml, но он стал настолько медленным. потребовалось несколько часов, чтобы построить. Теперь я остался с sql lite, который даже не уверен, что он будет упакован с .apk. пожалуйста, помогите мне – ImGeorge

Смежные вопросы