最近做聊天系统,进去聊天界面需要从服务器拉24消息,发现如果一条条的插会导致很慢,大概6,7秒
解决办法:事务(大概1秒左右)
/**
* 事务批量存储数据,提高速度
* @param c
* @param mlist_message
*/
public synchronized static void message_save_message_to_db_translation(Context c,ArrayList<c_message_one_item> mlist_message){
SQLiteDatabase db = c_db_open_helper.db_create(c).getWritableDatabase();
if(null == db){
return;
}
try {
String current_user_id = c_comm_helper.c_fun.c_login.get_userid(c);if(null == current_user_id || current_user_id.isEmpty() || current_user_id.equals("0")){Log.e("message_save_message_to_db", "current_user_id is null");return;}
db.beginTransaction();
for(c_message_one_item msg_one:mlist_message){
message_save_message_to_db_ex(db,current_user_id,msg_one);
}
db.setTransactionSuccessful();
} catch (Exception e) {
e.printStackTrace();
}
finally{
if(db!=null)db.endTransaction();
}
}