मैं पहले से लोड करने छवियों मतवाला कि जब मैं अपने currentView करने के लिए अपने UIImageView जोड़ने के लिए, पीएनजी स्मृति में पहले से ही कर रहे हैं चाहते हैं पहले से लोड करने, लोड, आदिiOS पर छवियों का लोड मजबूर
फुलाया आप इस से देख सकते हैं समय प्रोफाइलिंग, छवियों को प्रदर्शित होने पर लोड किया जाता है:
उसी समय, मैं पहले से ही इन छवियों को पहले से लोड कर रहा हूं। बस जब मैं उस दृश्य को लोड, मैं अच्छी तरह से है कि कोड का उपयोग कर इन ऐनिमेशन के लिए सभी छवियों और छवि दृश्य बना:
- (UIImageView*)createAnimationForReel:(NSString*)reel ofType:(NSString*)type usingFrames:(NSInteger)frames{
UIImageView *imageView = [[UIImageView alloc] init];
NSMutableArray *imageArray = [NSMutableArray arrayWithCapacity:frames];
for (int i=0;i<frames;i++){
NSString *image;
if(i<10){
image = [NSString stringWithFormat:@"%@_0%i", reel, i];
} else {
image = [NSString stringWithFormat:@"%@_%i", reel, i];
}
NSString *path = [[NSBundle mainBundle] pathForResource:image ofType:@"png" inDirectory:type];
UIImage *anImage = [[UIImage alloc] initWithContentsOfFile:path];
[imageArray addObject:anImage];
}
imageView.animationImages = [NSArray arrayWithArray:imageArray];
imageView.animationDuration = 2.0;
return imageView;
}
और जब मैं दस्तावेज़ पढ़ें यह कहते हैं: "इस विधि स्मृति में छवि डेटा लोड करता है और यह निशान शुद्ध करने योग्य के रूप में। यदि डेटा को शुद्ध किया गया है और उसे पुनः लोड करने की आवश्यकता है, तो छवि ऑब्जेक्ट उस डेटा को निर्दिष्ट पथ से फिर से लोड करता है। " initWithContentOfFile के बारे में बात कर रहे हैं। तो मेरी छवि "लोड" होना चाहिए।
लेकिन नहीं।
निश्चित रूप से मेरे प्रतिबिंब में कुछ याद आ रही है। पर क्या?
भयानक लग रहा है, और वास्तव में छवियों को लोड करता है, सिवाय इसके कि वे कैश नहीं किए जाते हैं, और जब भी प्रदर्शित होते हैं तब भी पुनः लोड हो जाते हैं। कितनी शर्म की बात है! मुझे लगता है कि UIImageView काम करता है, यूआईएममेज के साथ ऐसा करने के लिए और अधिक कुछ करना है। –