最近做聊天系统,进去聊天界面需要从服务器拉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(); } }