本文實例講述了Android SQLite操作之大數據處理與同時讀寫方法。分享給大家供大家參考,具體如下:
1. 批量寫入
采用事物方式,先緩存數據,再批量寫入數據,極大提高了速度
288條,直接inset into 耗時7秒
8640條, 批量寫入 耗時5-7秒
try { this.myDataBase.beginTransaction(); // 手動設置開始事務 for (int i = 0; i < objArr.length; i++) { this.myDataBase.execSQL(sql[i]); } this.myDataBase.setTransactionSuccessful(); // 設置事務處理成功,不設置會自動回滾不提交 iResult = true; return iResult;} catch (SQLException e) { e.printStackTrace(); Log.e("log", e.getMessage()); return iResult;} finally { this.myDataBase.endTransaction(); // 處理完成 this.myDataBase.close();}2. 同時讀寫
sqlite 允許 1讀,多寫,
getReadableDatabase 為讀(底層是先打開寫入格式,再轉換成只讀模式,如果系統內存不足,則打開的為只讀模式)
Curse cur, cur 再對其做操作之前(比如 MovetoFirst()。。。)都只是一個指針,并沒有對數據庫進行操作。
getWritableDatabase 為寫
此兩種操作數據庫的打開模式有互斥關系,底層已加同步鎖
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android操作SQLite數據庫技巧總結》、《Android操作json格式數據技巧總結》、《Android數據庫操作技巧總結》、《Android編程之activity操作技巧總結》、《Android文件操作技巧匯總》、《Android編程開發之SD卡操作方法匯總》、《Android開發入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
新聞熱點
疑難解答