2012-03-12 9 views
7

पर कब्जा करता है मैंने यह ऐप मेरे ऐप के लिए उपकरणों का उपयोग करने पर देखा। जब मैं अपना ऐप प्रोफाइल करता हूं, तो प्रारंभिक मेमोरी 563 केबी है जो UIImagePickerController पॉप अप से पहले है। पहले दृश्य नियंत्रक पर एक बटन है जो UIImagePickerController प्रकट करता है।
जैसे ही UIImagePickerController प्रकट होता है, स्मृति पर कब्जा 1.6 - 1.7 एमबी तक चला जाता है। अगर मैं कोई छवि चुनता हूं या UIImagePickerController को रद्द करता हूं, तो कब्जा कर लिया गया स्मृति अभी भी 1.6 - 1.7 एमबी है जो मुझे विश्वास है कि 563 केबी (या कुछ केबी अधिक हो सकता है)।UIImagePickerController स्मृति को रिलीज़ नहीं करता है यह

- (IBAction)chooseButtonPressed:(id)sender 
{ 
    UIImagePickerController *pickerController = [[UIImagePickerController new]autorelease]; 
    [pickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
    [pickerController setDelegate:self]; 
} 

क्यों स्मृति नहीं जारी किया जा रहा है:
कृपया नीचे दिए गए कोड मैं का इस्तेमाल किया है देखते हैं?

enter image description here

+0

आप 'समग्र bytes' पर कब्जा कर लिया या' लाइव bytes' पर देख रहे हैं?स्पष्ट कारणों से, 'समग्र बाइट्स' कभी कम नहीं होगा ... – tipycalFlow

+0

हां मैं समग्र बाइट्स देख रहा हूं। लेकिन यह क्यों कम नहीं होगा? – Nitish

+0

यह सभी बाइट्स का अंधेरा योग है जो स्मृति में कभी भी जोड़ा गया है। जब स्मृति जारी की जाती है, तो योग कम नहीं होता है। 'समग्र बाइट्स 'के बाईं तरफ,' लाइव बाइट्स 'का कॉलम होना चाहिए। इस कॉलम में मानों का निरीक्षण करें और आपके प्रश्न का उत्तर दिया जाएगा! – tipycalFlow

उत्तर

1

हम टिप्पणियों में छवियां नहीं जोड़ सकते हैं इसलिए मैं इसे एक उत्तर के रूप में डाल रहा हूं। Live BytesOverall Bytes से हमेशा कम होता है जब तक पहली बार स्मृति को हटाया नहीं जाता है। यह नीचे दी गई छवि से देखा जा सकता है।

enter image description here

मैं वहाँ कुछ भी अपने आवंटन रद्द करने के साथ गलत क्या है नहीं लगता। मुझे लगता है कि आप सिर्फ गलत मूल्यों को देख रहे हैं!

EDIT- मुझे लगता है कि समस्या कहीं और हो सकती है। जो मूल्य मैं देख रहा था उसे देखने के लिए, आपको थोड़ा बदलाव करना होगा। जैसा कि नीचे दी गई छवि में दिखाया गया है, आपको वह मान देखने के लिए Only track active allocations विकल्प को अनचेक करना होगा। यदि आप अभी भी Active allocations में 7.41 एमबी देखते हैं, तो समस्या कुछ और है।

enter image description here

+0

कृपया मेरा संपादित प्रश्न देखें। मैंने एक स्क्रीन शॉट जोड़ा है। लाइव बाइट्स कुल मिलाकर बाइट्स के समान है – Nitish

+0

@Nitish कृपया मेरे संपादन में मैंने जो छोटे बदलाव का उल्लेख किया है, कृपया कोशिश करें। – tipycalFlow

+0

लेकिन इसे अनचेक कैसे करें। संपादन विकल्प यहां उपलब्ध नहीं है। – Nitish

0

इस

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
[self presentModalViewController:picker animated:YES]; 
[picker release]; 
+0

क्यों पता लगाने की कोशिश कर रहा है कि मैंने पहले से ही कोशिश की है। – Nitish

+0

आपने उस समय ऑटोरेलीज रिलीज मेमोरी के बजाय ऑटोोरलीज़ की कोशिश नहीं की। और 'में - (शून्य) imagePickerController: (UIImagePickerController *) पिकर didFinishPickingMediaWithInfo: (NSDictionary *) info' विधि लिखने' [पिकर dismissModalViewControllerAnimated: हाँ]; ' – hchouhan02

1

आप दे दिया है के बाद से यह विकल्प यह autorelease पूल में जोड़ दी जाती autorelease ... प्रलेखन क्या कहते हैं ..

कोशिश एप्लिकेशन किट इवेंट लूप के प्रत्येक चक्र की शुरुआत पर मुख्य धागे पर एक ऑटोरेलीज पूल बनाता है, और इसे पर निकाल देता है अंत में, किसी ईवेंट को संसाधित करते समय उत्पन्न किसी भी ऑटोरेलेज्ड ऑब्जेक्ट को जारी करता है।

आप हमेशा इस तरह प्रतिनिधि कॉल में पिकर जारी कर सकते हैं ..

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 
... 
... 
[picker release]; 

} 
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ 
.... 
.... 
[picker release]; 

} 
+0

तुम बहुत सही कह रहे हैं अंकित। आपने जो सुझाव दिया है वह नवीनतम मैंने कोशिश की है। – Nitish

0

आप nil के लिए प्रतिनिधि सेट किया है?

अधिक जानकारी के लिए आप उल्लेख कर सकते हैं UIImagePickerConrtoller class reference को

[picker release]; 
picker.delegate = nil ; 

आशा यह आप में मदद करता है।

+0

अभी भी काम नहीं कर रहा है। – Nitish

+0

@Maulik: मैं इस सवाल का जवाब संपादित और UIImagePickerController के लिए वर्ग संदर्भ जोड़ा जवाब के रूप में 'कम गुणवत्ता Post' के तहत दिखाई दिया। –

+0

@ पार्थबैथ: धन्यवाद ... आपको निम्न गुणवत्ता पोस्ट कहां मिला? मुझे इसके बारे में पता नहीं है ..; डी – Maulik

संबंधित मुद्दे