2013-05-16 21 views
0

我有一個鏈接到充滿Facebook朋友的商店的列表。它包含大約350條記錄。 有一個在觸發上KEYUP下面的函數列表的頂部searchfield:Sencha Touch 2.2不重複使用列表項的列表

filterList: function (value) { 
    // console.time(value); 
    if (value === null) return; 

    var searchRegExp = new RegExp(value, 'g' + 'i'), 
     all = Ext.getStore('Friends'), 
     recent = Ext.getStore('Recent'), 
     myFilter; 

    all.clearFilter(); 
    recent.clearFilter(); 

    // console.log(value, searchRegExp); 

    myFilter = function (record) { 
     return searchRegExp.test(record.get('name')); 
    } 

    all.filter(myFilter); 
    recent.filter(myFilter); 
    // console.timeEnd(value); 
    }, 

現在,這個曾經很好地工作ST2.1.1但因爲我升級了應用ST2.2。這真的很慢。它甚至在iOS上的Safari凍結和崩潰...

這是日誌給:

t /t/gi Friends.js:147 
t: 457ms Friends.js:155 
ti /ti/gi Friends.js:147 
ti: 6329ms Friends.js:155 
tit /tit/gi Friends.js:147 
tit: 7389ms Friends.js:155 
tito /tito/gi Friends.js:147 
tito: 7137ms 

有誰知道爲什麼它現在的行爲像這樣,或有沒有人有更好的濾波方法。

更新

true paramater調用clearFilter似乎加快的東西,但它的速度比不上以前呢。

更新

它實際上沒有任何與過濾店。

它與渲染列表項有關。煎茶顯然創建的每個記錄我在店裏,而不是僅僅創造了幾個列表項和重複使用它們的列表項

enter image description here

莫不是它的行爲這樣一個顯而易見的原因是什麼?

回答