我在这里处理一个问题。我从一本书中提取了 600.000 个单词,我需要做的就是将这些单词放入数据库中。问题是,我第一次打开这本书时就收集了这些词。我正在做的是使用异步任务来读取所有单词,问题是:在将这些单词插入数据库之前,我应该把它们放在哪里?我尝试使用 ArrayList、array 并尝试将它们连接成一个巨大的字符串。但总是面临同样的问题,内存不足。
我应该尝试将单词直接插入数据库吗?我应该尝试存储到较小的 ArrayList 中,插入,清除 ArrayList 并从我停止的地方开始吗?我没主意了。谢谢。
下面,我的异步任务:
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) {
}
}