2009-07-14 13 views
6

मैं बहुत ही कम लोड समय के लिए एक iPhone अनुप्रयोग के अनुकूलन की प्रक्रिया में हूँ और सोच रहा हूँ:मापने iPhone आवेदन लोड समय

वहाँ समय से एक iPhone अनुप्रयोग के लोड समय को मापने का एक साधन है उपयोगकर्ता नल आइकन उस समय तक आइकन है जब ऐप उपयोग योग्य है (या कम से कम -viewDidLoad कॉल हो जाता है)?

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

और नहीं; "स्टॉपवॉच" या "एक मिसिसिपी, दो मिसिसिपी" गिनती नहीं है। :-)

+0

आप 'applicationDidLaunch' पर तुरंत समय लॉग नहीं कर सकते हैं और फिर' viewDidLoad' कहलाते समय उस समय लॉग ऑन कर सकते हैं? –

उत्तर

2
अनुप्रयोग प्रतिनिधि के init विधि में एक टाइमर प्रारंभ

, और फिर बंद जब viewDidAppear: -

प्रारंभ साथ टाइमर: -

NSDate *startTime = [NSDate date]; 

... और के साथ समाप्त: -

NSTimeInterval elapsedTime = [startTime timeIntervalSinceNow]; 
NSLog(@"Startup tasks: %f", -elapsedTime); 

यह आइकन टैप होने के पल से शुरू नहीं होगा, लेकिन आपके कामकाज में काफी जल्दी होना चाहिए। आप शायद डीबगर कंसोल में रखे गए लॉग में पहले के समय को देख सकते हैं?

1

एप्लिकेशन प्रतिनिधि की शुरुआत में NSLog(@"started loading"); डालें और ऐप प्रतिनिधि के दृश्य डीडएपियर में NSLog(@"finished loading"); डाल दें। डीबगर कंसोल में आपको कुछ

2010-11-21 17:16:06.278 Phy[9157:207] started loading 
2010-11-21 17:16:06.301 Phy[9157:207] finished loading 

इसलिए सिम्युलेटर को ऐप शुरू करने के लिए 0.03 सेकंड की आवश्यकता होती है।

2

डब्ल्यूडब्ल्यूडीसी 2016 के हिस्से के रूप में ऐप्पल ने बीटा 2 के हिस्से के रूप में उपलब्ध एक नया पर्यावरण चर घोषित किया, जो आपको एप्लिकेशन के लॉन्च समय को रिकॉर्ड करने में मदद करेगा।

ऊपर दिए गए उत्तरों के साथ एक मुद्दा यह है कि वे पूर्व-मुख्य समय को ध्यान में रखते हैं, जहां छवियों को लोड किया जाता है और रीबेस और बाध्यकारी फ़िक्सअप होते हैं।

यदि आप चर DYLD_PRINT_STATISTICS = 1 जोड़ते हैं तो आपको कंसोल में प्री-मुख्य समय मुद्रित किया जाएगा।

डब्ल्यूडब्ल्यूडीसी 2016 से सत्र 406 इस परिवर्तनीय उपयोग में और परिणामों की व्याख्या कैसे करें।

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