पर प्रतिपादन पर धीमा हो गया है मैं सेन्चा टच 2.2.1 का उपयोग कर सेन्चा वेब ऐप बना रहा हूं। मेरे आवेदन में मेरे पास स्क्रीन है जिसमें एक कंटेनर होता है जहां मैंने एकाधिक पैनल जोड़े। एक पैनल में दो पैनल होते हैं, एक शीर्ष पैनल और आंतरिक पैनल।सेन्चा ऐप्स ui थ्रेड
पृष्ठ की शुरुआत पर, मैं कंटेनर में प्रत्येक आइटम के शीर्ष पैनल के लिए डेटा की सूची लाने के लिए AJAX api को कॉल कर रहा हूं। और शीर्ष पैनल पर क्लिक किया गया, मैं उस आइटम के लिए एपीआई को आंतरिक पैनल के लिए डेटा लाने के लिए बुला रहा हूं। एपीआई कॉल पर, मैं आंतरिक पैनल में डेटा प्रस्तुत कर रहा हूं और उस पैनल को दृश्यमान बना रहा हूं। शीर्ष कोड पर एक कंटेनर में सभी वस्तुओं के लिए यह कोड समान है।
'expandAll' पर शीर्ष पर एक बटन भी है जो एक के बाद एक लूप में सभी वस्तुओं के लिए एपीआई कॉल करेगा और प्रत्येक आंतरिक पैनल के लिए डेटा प्रस्तुत करेगा। सबसे पहले मैं एक एपीआई फोन कर रहा हूं और फिर उस पर प्रतिक्रिया प्राप्त करने पर मैं स्टोर में स्टोर कर रहा हूं और स्क्रीन पर प्रतिपादन कर रहा हूं, फिर अगली एपीआई को कॉल कर रहा हूं, इस तरह सभी वस्तुओं के लिए।
getDetailData:function(params){
var detailStore=Ext.getStore('DetailData');
detailStore.load({
callback:function(data,opt,success) {
detailStore.storeDetailData(data);
_this.onShowDetailData(data);
// now call next api from here until all items data fetched and displayed
}
});
}
इस मामले में, सभी आइटम डेटा लाने और UI धागे पर प्रतिपादन करने में अधिक समय लग रहा है और ऐप धीमा हो रहा है।
डेटा प्रस्तुत करते समय, मुझे प्रत्येक बार डेटा प्रस्तुत करने से पहले डेटा फ़िल्टर करने के लिए स्टोर पर फ़िल्टर लागू करना होगा।
मैं जानना चाहता था कि मैं इस प्रसंस्करण और काम को कैसे प्रस्तुत करना चाहिए। AJAX एपीआई कॉल और सर्वर से डेटा लाने में अधिक समय नहीं लग रहा है लेकिन प्रसंस्करण और प्रतिपादन में अधिक समय लग रहा है।
इस पर कोई suggessions,
धन्यवाद
कुल मिलाकर कितने आइटम या एपीआई कॉल हम यहां बात कर रहे हैं? आइटम टेम्पलेट्स कितने जटिल हैं? – OhmzTech
न्यूनतम 10 और अधिकतम 14 एपीआई कॉल पर हम यहां बना रहे हैं। और आइटम टेम्पलेट जटिल संरचना है, वीबॉक्स लेआउट वाला एक पैनल और इसमें दो पैनल, 1. पैनल (लेआउट = एचबॉक्स), जिसमें हमारे पास 5 पैनल और दो सूचियां हैं 2. पैनल (लेआउट = एचबॉक्स) , इसमें हमारे पास 6 सूचियां और दो पैनल हैं – nleshjinde
मैंने इस प्रतिपादन समस्या का समाधान किया है। प्रत्येक सेन्चा घटक के लिए, सेन्चा स्वयं द्वारा अतिरिक्त संरचना बना रही है। मेरे आवेदन में मैंने जटिल दृश्यों और अधिक आंतरिक घटकों के साथ अधिक सेन्चा घटकों का उपयोग किया है। तो अब मैंने एकल पैनल का उपयोग किया है और मैं अधिक सेन्चा घटकों के बजाय एकल HTML बना रहा हूं और सीधे इस अंतिम HTML टेक्स्ट को सेटएचटीएमएल के रूप में पैनल में सेट कर रहा हूं। तो इस मामले में हम सेन्चा संरचना को ओवरराइड कर रहे हैं और सरल प्रतिपादन हो रहा है। – nleshjinde