Android SQLite操作之大數(shù)據(jù)處理與同時讀寫方法
本文實例講述了Android SQLite操作之大數(shù)據(jù)處理與同時讀寫方法。分享給大家供大家參考,具體如下:
1. 批量寫入
采用事物方式,先緩存數(shù)據(jù),再批量寫入數(shù)據(jù),極大提高了速度
288條,直接inset into 耗時7秒
8640條, 批量寫入 耗時5-7秒
try {
this.myDataBase.beginTransaction(); // 手動設(shè)置開始事務(wù)
for (int i = 0; i < objArr.length; i++) {
this.myDataBase.execSQL(sql[i]);
}
this.myDataBase.setTransactionSuccessful(); // 設(shè)置事務(wù)處理成功,不設(shè)置會自動回滾不提交
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 為讀(底層是先打開寫入格式,再轉(zhuǎn)換成只讀模式,如果系統(tǒng)內(nèi)存不足,則打開的為只讀模式)
Curse cur, cur 再對其做操作之前(比如 MovetoFirst()。。。)都只是一個指針,并沒有對數(shù)據(jù)庫進行操作。
getWritableDatabase 為寫
此兩種操作數(shù)據(jù)庫的打開模式有互斥關(guān)系,底層已加同步鎖
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android操作SQLite數(shù)據(jù)庫技巧總結(jié)》、《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android下使用TCPDUMP實現(xiàn)數(shù)據(jù)抓包教程
這篇文章主要介紹了Android下使用TCPDUMP實現(xiàn)數(shù)據(jù)抓包教程,本文講解使用抓包工具tcpdump抓取數(shù)據(jù),然后使用Wireshark來分析數(shù)據(jù),需要的朋友可以參考下2015-02-02
Android開發(fā)之設(shè)置開機自動啟動的幾種方法
這篇文章主要介紹了Android開發(fā)之設(shè)置開機自動啟動的幾種方法的相關(guān)資料,這里提供三種方法幫助大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-08-08
Android Studio 3.0 gradle提示版本太老
這篇文章主要介紹了Android Studio 3.0 gradle提示版本太老的配置和解決方法。2017-11-11
OpenGL Shader實現(xiàn)光照發(fā)光體特效
這篇文章主要介紹了如何通過OpenGL Shader實現(xiàn)光照發(fā)光體特效,不同于陰影遮蓋,它是利用圓形繪制向內(nèi)部。感興趣的小伙伴可以了解一下2022-02-02
Windows下React Native的Android環(huán)境部署及布局示例
這篇文章主要介紹了Windows下React Native的Android環(huán)境部署及布局示例,這里安卓開發(fā)IDE建議使用Android Studio,且為Windows安裝npm包管理器,需要的朋友可以參考下2016-03-03

