Android效能優化 I O篇

2021-07-09 06:23:20 字數 1375 閱讀 7391

普通方式:

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...