項目介紹
pheongap混合應用,跨平台,做應用加工廠提供應用模板編輯器~
本地應用,完全是模擬IOS,安卓原生應用的實現,所以支持14種手勢,所有PPT動畫,視覺差效果,等等功能組合。。。
這是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數據交互,希望能幫助到你