मैं टुकड़ा अंदर लेकिन पढ़ने http://developer.android.com/resources/articles/avoiding-memory-leaks.html जिसमें कहा करने के लिए यह संदर्भ गतिविधि की तुलना में संदर्भ के आवेदन का उपयोग करने के लिए बेहतर है, मैं getActivity() का उपयोग करने के डर लग रहा है के बाद नया विकल्प मेनू बना रहा हूं। GetMenuInflater()गतिविधि से नया मेनू इन्फ्लूटर या getMenuInflater() प्राप्त करें?
तो , वास्तव में जो एक बेहतर
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuInflater mInflater = new MenuInflater(getActivity().getApplicationContext());
mInflater.inflate(R.menu.simple_menu, menu);
}
या एक कॉल गतिविधि
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuInflater mInflater = getActivity().getMenuInflater();
mInflater.inflate(R.menu.simple_menu, menu);
}
और, क्या उन्हें दोनों के बीच मतभेद है? या..वोथ वही हैं?
धन्यवाद।
हाँ, लेकिन बनाने 'नई' menuInflater लगता है जैसे कि यह "मिल" menuInflater की तुलना में अधिक स्मृति खा जाएगा ... और आपने कहा कि अगर मैं मेन्यू इन्फ्लूटर को किसी अन्य वर्ग में पास नहीं करता हूं तो इसे लीक नहीं किया जाएगा, मैं इसे टुकड़ा वर्ग के अंदर खंडित गतिविधि नहीं कहता हूं, इसलिए यदि मैं कॉल करता हूं तो मेन्यूइन्फ्लेटर इसे "किसी अन्य वर्ग से मेनू इन्फ्लूटर" नहीं कहेंगे ? –
@ GAO-tsukai मुझे इस विधि के बारे में आपका प्रश्न याद आया। मैंने तदनुसार अपना जवाब अपडेट किया। – spatulamania
धन्यवाद, अब मुझे लगता है कि मुझे वास्तव में एंड्रॉइड स्रोत देखने की ज़रूरत है ... –