我對自己很滿意。我使用了AppDelegate技術,它的工作非常漂亮。我宣佈在AppDelegate中一個UIImageView屬性,然後將圖像代碼添加到其吸氣劑:
- (UIImageView *)backgroundImageView {
if (!_backgroundImageView) {
NSMutableArray *tempArray = [NSMutableArray arrayWithCapacity:150];
for (int imageNum = 0; imageNum < 150; imageNum++) {
[tempArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"image_00%03i.png",imageNum]]];
}
_backgroundImageView = [[UIImageView alloc] initWithImage:[UIImage animatedImageWithImages:tempArray duration:4.0]];
}
return _backgroundImageView;
}
這也讓我殺死applicationDidReceiveMemoryWarning的對象。
然後我創建了一個輔助類,我可以跳進我的所有的UIViewController類:
+ (void)placeBackgroundImageUnderView:(UIView *)masterView {
myAppDelegate *appDelegate = (myAppDelegate *)[[UIApplication sharedApplication] delegate];
//Correct for shrinkage
appDelegate.backgroundImageView.frame = masterView.frame;
[masterView addSubview:appDelegate.backgroundImageView];
[masterView sendSubviewToBack:appDelegate.backgroundImageView];
}
這讓我補充一條線在每個viewDidLoad方法:
[HelperClass placeBackgroundImageUnderView:self.view];
事情是,只使用UIImage應該緩存整個事情,並加快加載時間。但似乎時不時的圖像將不得不重新加載 - 內存問題?因此,這允許我通過實例化對象一次並使用同一對象來控制它,同時也可以將該對象設置爲零,以便在需要時釋放內存。
由於添加它,整個應用程序加載速度更快。我添加了一個額外的負載屏幕,併爲該初始負載提供了一個活動指示器(也可以很好地工作),並且之後的所有內容都很快樂。