古い世代のiPhone(ipod touch 1 gen、2nd gen e.t.c)のメモリに問題があります。これは、170kワードの辞書をロードして保存するときに割り当てられるメモリ容量に起因します。メモリ効率的かつ迅速なiPhone/Androidの辞書ストレージ/アクセス
これはコード(非常に単純な)です:
string[] words = dictionaryRef.text.Split("\n"[0]);
_words = new List<string>(words);
これは、ストレージの12メガバイトの周りに開始に割り当て、iphoneは私が考える43メガバイトの周りに持っています。そのため、+テクスチャ+サウンド+ OSは壊れやすい傾向があります。
速度を考えれば、バイナリ検索を使用してアクセスすることは問題ありません。しかし、それをより効率的にメモリに格納する(そして、より効率的にロードする)。
text.Splitは、ヒープメモリの多くを占めているようです。
アドバイスはありますか?
\ n "[0]'とは何ですか? '\ n'だけ使うことはできませんでしたか? – jv42
実際の質問:なぜ単純な配列の代わりにリストが必要ですか? – jv42
平均して10文字(1バイトごとに)の平均が17万語(平均しても過大評価されている)と推定されるのは1.7MB程度です。 char配列の配列としてデータを格納するのは、それほど多くのメモリを占めるだけです。 –