項目介紹html
pheongap混合應用,跨平臺,作應用加工廠提供應用模板編輯器~html5
本地應用,徹底是模擬IOS,安卓原生應用的實現,因此支持14種手勢,全部PPT動畫,視覺差效果,等等功能組合。。。sql
這是IDE的功能設置數據庫
HTML5本地數據庫就是用SQLite,這是咱們應用的數據庫瀏覽器
經過數據動態生成頁面緩存
這個應用有30頁,有些應用上千頁,因此頁面全是動態生成的,只會維持在2-3頁,數據結構
這裏用到了模擬多線程任務 - - ,用於實現無緩衝翻頁,效果仍是不錯多線程
一個頁面涉及N多數據的的查詢,可能關聯不少表,幾十上百條記錄,如何優化?編輯器
數據查詢方式優化
1:sql數據
拼sql語句是不行的,你能夠試試一條SQL語句耗費的時間是多少? 基本上1條語句就是100毫秒了,安卓下面實測
如今一個頁面就可能存在幾百條數據的關聯,那麼直接經過語句查詢是行不通的
2:緩存哈希
經過HTML5的executeSql查詢出來的是一個,SQLResultSetRowList 類型的 rows 是數據集的「行」,
rows 有兩個屬性:length、item ,故獲取查詢結果的第一行列名爲name的值 :result.rows.item(0).name
那麼若是緩存數據爲哈希的格式,這樣就不須要查詢數據了,每次找內存中的緩存便可了
就是這樣
var data = {} each(result,function(r,index){ data[r.id] = r.item(index); })
可是忽略一個問題,瀏覽器分配給每個應用的內存是有限的,因此這樣緩存的表數據一多,內存會溢出,應用直接崩
3:緩存數據集
目前使用的就是html5返回的緩存數據集SQLResultSetRowList了,由於咱們能夠直接result.rows.item(0) 經過索引下表找到對應的數據
這樣只須要算出數據庫中每個id對應的下標索引就能夠大大加快查詢數據了
目前項目三種都嘗試過,目前使用的最後一種數據查找,項目愈來愈大,這樣數據結構的問題也很嚴峻
若是你有作SPA應用,若是有用HTML5數據交互,但願能幫助到你