Android
प्रदर्शन अनुकूलन
खोज…
परिचय
आपके ऐप्स का प्रदर्शन उपयोगकर्ता अनुभव का एक महत्वपूर्ण तत्व है। यूआई थ्रेड पर काम करने जैसे खराब प्रदर्शन वाले पैटर्न से बचने की कोशिश करें और सीखें कि तेज और उत्तरदायी एप्लिकेशन कैसे लिखें।
ViewHolder पैटर्न के साथ दृश्य लुकअप सहेजें
विशेष रूप से एक ListView
, आप स्क्रॉलिंग के दौरान बहुत अधिक findViewById()
कॉल करके प्रदर्शन समस्याओं में भाग सकते हैं। ViewHolder
पैटर्न का उपयोग करके, आप इन लुकअप को सहेज सकते हैं और अपने ListView
प्रदर्शन में सुधार कर सकते हैं।
यदि आपकी सूची आइटम में एक एकल TextView
, तो उदाहरण संग्रहीत करने के लिए एक ViewHolder
वर्ग बनाएं:
static class ViewHolder {
TextView myTextView;
}
अपनी सूची आइटम बनाते समय, सूची आइटम में एक ViewHolder
ऑब्जेक्ट संलग्न करें:
public View getView(int position, View convertView, ViewGroup parent) {
Item i = getItem(position);
if(convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, parent, false);
// Create a new ViewHolder and save the TextView instance
ViewHolder holder = new ViewHolder();
holder.myTextView = (TextView)convertView.findViewById(R.id.my_text_view);
convertView.setTag(holder);
}
// Retrieve the ViewHolder and use the TextView
ViewHolder holder = (ViewHolder)convertView.getTag();
holder.myTextView.setText(i.getText());
return convertView;
}
इस पैटर्न का उपयोग करके, findViewById()
केवल तभी कहा जाएगा जब एक नया View
बनाया जा रहा हो और ListView
आपके विचारों को बहुत अधिक कुशलतापूर्वक पुन: उपयोग कर सकता है।