普通方式:
public
void
insertmemberlistnormal(listmembermodellist)
}
事務方式:
public void insertmemberlistwithtransaction(listmembermodellist)
db.settransactionsuccessful();
}catch (exception e)finally
}
測試:
memberdbservice memberdbservice = new memberdbservice(this);
arraylistmembermodellist= new arraylist<>();
for(int i = 0
;i < 100;i++)
long starttimetransaction = system.currenttimemillis();
memberdbservice.insertmemberlistwithtransaction(membermodellist);
long endtimetransaction = system.currenttimemillis();
log.e(tag, "transaction insert time:" + (endtimetransaction - starttimetransaction));
long starttimenomal = system.currenttimemillis();
memberdbservice.insertmemberlistnormal(membermodellist);
long endtimenormal = system.currenttimemillis();
log.e(tag,"normal insert time:" + (endtimenormal - starttimenomal));
結果:
mainactivity﹕ transaction insert
time:26
mainactivity﹕ normal insert
time:717
對比發現使用事務進行批量操作消耗的時間遠遠小於正常操作。
2.盡量使用sqliteopenhelper.getreadabledatabase()連線資料庫。getwritabledatabase()以讀寫的方式連線資料庫,若資料庫磁碟已滿,將無法寫入,會報錯;而getreadabledatabase()先已讀寫的方式連線資料庫,若資料庫磁碟空間已滿,便改為以唯讀的方式開啟。
Android效能優化 布局篇
一.布局優化 一旦viewstub中指定的布局載入之後,這個id也就失敗了 viewstub只能inflate一次,之後viewstub物件會被置為空 viewstub demo viewstub findviewbyid r.id.viewstub demo public void onclick...
Android 啟動效能優化 kernel篇
題目有點大,其實kernel的啟動效能調整和android基本沒什麼關係,我想應該適用所有使用linux的嵌入式裝置 時間測量 說到效能調整,第一件該幹的的事就是看下時間到底消耗在 俗話說的好 知己知彼,百戰百勝 過度優化,萬惡之首 因此手頭上要有稱心如意的時間測試工具,方法。其實我是不太喜歡工具的...
效能優化篇
一 在使用gallery控制項時,如果載入的過多,過大,就很容易出現outofmemoryerror異常,就是記憶體溢位。這是因為android預設分配的記憶體只有幾m,而載入的如果是jpg之類的壓縮格式,在記憶體中展開時就會占用大量的空間,也就容易記憶體溢位。這時可以用下面的方法解決 view p...