sqlite插入24条时间慢

前端之家收集整理的这篇文章主要介绍了sqlite插入24条时间慢前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

猜你在找的Sqlite相关文章