我在这里处理一个问题。我从一本书中提取了600.000个单词,我需要做的是将这些单词放在数据库中。问题是,我第一次打开这本书时收集这些单词。我正在做的是使用异步任务来读取所有单词,问题是:在将这些单词插入数据库之前,我将这些单词放在哪里?我尝试使用ArrayList,数组,并尝试将它们连接成一个巨大的String。但总是面临同样的问题,内存不足。
我应该尝试将单词直接插入数据库吗?我是否应该尝试存储到较小的ArrayLists中,插入,清除ArrayList并从我停止的位置开始?我没有想法。感谢。
下面,我的asynctask:
private class storeWords extends AsyncTask<String, Void, Boolean> {
@Override
protected void onPreExecute() {
}
@Override
protected Boolean doInBackground(String... params) {
JTPagina drmPage = new JTPagina();
JTObra dadosObra = new JTObra();
int res = access.getPage(idBook, currentPage, drmPage);
JTPalavra[] palavras;
palavras = drmPage.getPalavras();
//Log.d("--->", "" + currentPage);
if (currentPage + 1 < pageCount) {
for (int i = 0; i < palavras.length; i++) {
list.add(palavras[i].getPalavra());
}
try {
MoveNext();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return true;
}
@Override
protected void onPostExecute(Boolean result) {
}
}