2011-01-02 17 views
19

क्या आपके ऐप की खपत की मात्रा की निगरानी करना संभव है?एक आईफोन ऐप में मेमोरी उपयोग की निगरानी करें?

+0

सभी उत्तरों उपकरण आपको XCode में उपयोग कर सकते हैं जब एक डिवाइस टेदर है को इंगित। ** मुझे यह जानना अच्छा लगेगा, अगर कोई ऐप निर्धारित कर सकता है कि वर्तमान में जंगली (उपभोक्ता के फोन पर) चल रहा है, तो यह कितनी मेमोरी चल रहा है। ** अगर कोई इसे जानता है - कमाल। – Fattie

+2

@ जो - बेन यहां मैक फ़ंक्शंस का उपयोग करके ऐसा करने का एक तरीका दिखाता है: http://stackoverflow.com/questions/2798638/available-memory-for-iphone-os-app/2798771#2798771, जो एंड्रयू के समान है उसके जवाब में है। –

+0

संभावित डुप्लिकेट [प्रोग्राम पर आईफोन पर प्रोग्राम उपयोग को पुनर्प्राप्त करें] (http://stackoverflow.com/questions/787160/programmatically-retrieve-memory-usage-on-iphone) – CRABOLO

उत्तर

3

आप उपकरण का उपयोग कर सकते हैं। यह आईओएस एसडीके के साथ प्रदान किया जाता है।
यह सिम्युलेटर की तुलना में एक डिवाइस के साथ और अधिक सटीक है ...

लॉन्च यह,, निगरानी का एक प्रकार (आबंटन, लीक, गतिविधि मॉनिटर) का चयन प्रक्रिया और लक्ष्य पर नजर रखने के चुनते हैं और फिर रिकॉर्ड बटन पर क्लिक करें।
इस बटन पर क्लिक करके, ऐप स्वयं ही खुलता है।

जब आप समाप्त कर लें, तो निगरानी रोकने के लिए स्टॉप बटन पर क्लिक करें।

आप इस कार्यक्रम के बारे में अधिक जानकारियां पा सकते हैं: About Instruments

14

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

उपकरण आपके ऐप्स को अनुकूलित करने में आपकी सहायता के लिए बहुत कुछ कर सकते हैं, इसलिए आपको Instruments User Guide को नज़दीकी रूप से देखना चाहिए।

+0

अब यह उत्पाद है -> विश्लेषण -> आवंटन। ऐप्पल के चारों ओर सामान ले जाना बंद करो, यह अप्रिय है। –

+5

वह उत्पाद बनाएं -> प्रोफाइलिंग (क्लिक करें) -> आवंटन –

1

यदि आपके पास एक सेब डेवलपर खाता है, तो वर्तमान WWDC को आईओएस पर उपकरणों और अनुकूलन मेमोरी के बारे में जांचें। यह वास्तव में देखने लायक है कि क्या आप जल्दी से समझते हैं कि उपकरण कैसे काम कर रहे हैं।

27

दरअसल, यह संभवतः अधिक महत्वपूर्ण है कि आप जानते हैं कि आपका ऐप कितना उपयोग कर रहा है, इसकी बजाय कितनी मेमोरी मुक्त है।

#import <mach/mach.h> 
#import <mach/mach_host.h> 

+(natural_t) get_free_memory { 
    mach_port_t host_port; 
    mach_msg_type_number_t host_size; 
    vm_size_t pagesize; 
    host_port = mach_host_self(); 
    host_size = sizeof(vm_statistics_data_t)/sizeof(integer_t); 
    host_page_size(host_port, &pagesize); 
    vm_statistics_data_t vm_stat; 

    if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS) { 
     NSLog(@"Failed to fetch vm statistics"); 
     return 0; 
    } 

    /* Stats in bytes */ 
    natural_t mem_free = vm_stat.free_count * pagesize; 
    return mem_free; 
} 
+1

धन्यवाद यह बहुत उपयोगी था। हमने इसे दो अलग-अलग दृष्टिकोणों की स्मृति पैरों के निशान की तुलना करने के लिए कॉलबैक लूप में रखा है। हमने महसूस किया कि इससे परिणाम अधिक सुसंगत थे और फिर उपकरणों से अधिक समझ में आया। – Kibitz503

+3

क्या मैं पूछ सकता हूं कि वर्तमान ऐप द्वारा कितना उपयोग किया जा रहा है इसके विपरीत यह कितना मेमोरी मुक्त है यह जानना और अधिक उपयोगी होगा? कितना मुफ़्त है केवल प्रभावित करता है कि निकट भविष्य में कितना अंतराल चलाना है आवंटन किया जाना चाहिए, जबकि कुल उपयोग सूचित करेगा कि ** ऐप समाप्ति ** निकट है या नहीं। मैं एक ऐसी स्थिति की कल्पना नहीं कर सकता जहां पूर्व के बाद की तुलना में पूर्व जानना अधिक उपयोगी हो। मैं वर्तमान ऐप उपयोग को खोजने के लिए पाठकों [यहां] (http://stackoverflow.com/a/7990532/340947) को निर्देशित करता हूं। –

+3

जब कोई ए के लिए पूछता है, तो उसे बताएं कि ए बी बी –

2

आप इस यूआरएल के साथ जांच कर सकते हैं:: https://github.com/andrealufino/ALSystemUtilities/blob/develop/ALSystemUtilities/ALSystemUtilities/ALDisk/ALDisk.m इस ठीक काम कर रहा है यहाँ ऐसा करने के लिए कुछ कोड है।

+0

यह ठीक है। लेकिन बस लिंक पोस्ट करने की बजाय, कृपया कुछ स्पष्टीकरण पोस्ट करने का प्रयास करें। –

1

आप यहां अपनी चल रही मेमोरी देख सकते हैं। जो उपभोग कर रहा है उसका विवरण न दें लेकिन स्मृति की एक अच्छी कुल राशि।

enter image description here

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