20 万行を超える大きな txt ファイルがあります。各行 1 単語。このファイルからすべての単語をロードする必要があります。Nexus 7 では問題なく動作していますが、エミュレータでアプリを起動しようとすると OutOfMemoryError が発生します。問題はどこにありますか?電話ユーザーにこのようなエラーが発生しないようにしたいと思います。
public static ArrayList<String> getWords(Context context) throws IOException {
ArrayList<String> words = new ArrayList<String>(300000);
InputStream is = context.getAssets().open("words.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String word;
while ((word = br.readLine()) != null) {
words.add(word.toUpperCase());
}
is.close();
br.close();
return words;
}