अवलोकन
मेमोइज़ पैकेज एक डार्ट उपकरण है जो फंक्शन कॉल के परिणामों को उनके इनपुट पैरामीटर्स के आधार पर कैश करता है। जब किसी फंक्शन को पिछले कॉल के समान तरीके से दोहराया जाता है, तो यह फिर से गणना करने के बजाय कैश किए गए परिणाम को वापस करता है, जिससे महंगे या बार-बार बुलाए जाने वाले फंक्शन के प्रदर्शन में सुधार होता है। यह पैकेज एंड्रॉइड, आईओएस, वेब, मैकओएस, विंडोज और लिनक्स सहित सभी प्रमुख प्लेटफॉर्म को समर्थन देता है। यह पैकेज प्रतिक्रियाशील या राज्य-आधारित एप्लिकेशन में विशेष रूप से उपयोगी है जहाँ दोहराए गए गणनाओं को बचाया जा सकता है। यह pub.dev के माध्यम से फ्लटर प्रोजेक्ट में आसानी से एकीकृत होता है।
उपयोग
- महंगी गणनाओं को कैश करना
- स्थिर इनपुट के साथ UI रेंडरिंग को अनुकूलित करना
- अवस्था प्रबंधन में कार्यक्षमता में सुधार
- आवश्यकता से अधिक API कॉल को कम करना
- डेटा-भारी एप्लिकेशन में प्रतिक्रियाशीलता को बढ़ाना
- एनिमेशन में दोहराए गए गणनाओं से बचें
मुख्य विशेषताएँ
- इनपुट समानता के आधार पर स्वचालित कैशिंग
- एसिंक और सिंक फंक्शन के लिए समर्थन
- प्लेटफॉर्म के अनुकूलता
- हल्का और एकीकरण में आसान
- कस्टम कंपेयरेटर के माध्यम से जटिल प्रकार का एम्बेडेड समर्थन
- आवश्यक न्यूनतम बॉयलरप्लेट कोड
इनके लिए उपयुक्त
- Flutter ऐप में प्रदर्शन को अनुकूलित करने वाले विकासकर्मी
- अक्सर पुनर्गणना के साथ राज्य प्रबंधन
- भारी गणना तर्क वाले ऐप्स
- तेज़ अपडेट की आवश्यकता वाले प्रतिक्रियाशील UI
- कार्यात्मक प्रोग्रामिंग पैटर्न का उपयोग करने वाली टीमें
विचार योग्य बातें
- कैश के आकार के साथ मेमोरी उपयोग बढ़ता है
- आवश्यकता होने पर कैश अमान्यता को हस्तचालित रूप से संभाला जाना चाहिए
- प्रभावों वाले कार्यों के लिए उपयुक्त नहीं
- कस्टम बराबरी के बिना परिवर्तनीय इनपुट ऑब्जेक्ट्स के साथ अच्छी तरह से काम नहीं कर सकता है
- प्रदर्शन में सुधार फ़ंक्शन लागत और कॉल आवृत्ति पर निर्भर करता है