我不确定我是否正在使用有效的方式来操作大量字符串。我需要打开一个大文件(~35kb)并解析和操作每一行,例如:
a1="Name surname"
a2="Name surname"
a3="Name surname"
...
a800="Name surname"
我需要将当前 id 作为索引的每个 Name surname 插入到 sqlite db 中。
while ((s = d.readLine()) != null){
String[] name = s.split("\"");
String[] arrIdTemp = s.split("=");
String[] arrtId = arrIdTemp[0].split("a");
db.execSQL("INSERT INTO " + Constant.DB.DB_NAME
+ " Values ('" + arrtId[1] + "','" + name[1]
+ "');");
}
通过这种方式,我创建了 3 个字符串数组,前 100 行非常快,但最后整个操作变慢了,可能是因为大量使用内存?有没有更好的解决方案来分割和操作每一行?
Logcat 输出说了很多:
01-27 14:46:50.554: D/dalvikvm(2541): GC_CONCURRENT freed 1778K, 68% free 3606K/11079K, external 4662K/5822K, paused 4ms+7ms