ここに私のコードです: ヘッダー:UIImageViewのアニメーションの後にメモリをきれいにする方法
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {
UIImageView *imageView;
NSMutableArray *arrayWithImages;
}
- (IBAction)startAnimation:(id)sender;
- (IBAction)cleanMemory:(id)sender;
@end
実装:
#import "ViewController.h"
@implementation ViewController
......
- (IBAction)startAnimation:(id)sender {
imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
arrayWithImages = [[NSMutableArray alloc] initWithObjects:
[UIImage imageNamed:@"pic1"],
[UIImage imageNamed:@"pic2"],
[UIImage imageNamed:@"pic3"],
[UIImage imageNamed:@"pic4"],
[UIImage imageNamed:@"pic5"],
[UIImage imageNamed:@"pic6"],
[UIImage imageNamed:@"pic7"],
[UIImage imageNamed:@"pic8"],nil];
imageView.animationImages = arrayWithImages;
imageView.animationDuration = 3;
imageView.animationRepeatCount = 1;
[self.view addSubview:imageView];
[imageView startAnimating];
}
- (IBAction)cleanMemory:(id)sender {
[arrayWithImages removeAllObjects];
[arrayWithImages release];
arrayWithImages= nil;
[imageView removeFromSuperview];
[imageView release];
imageView = nil;
}
@end
私はViewController
と2つのボタンとのview
を持っています。 startAnimation
アクションの最初のボタン。UIImageView
とNSMutableArray
が作成され、アニメーションが開始されます。私がstartAnimation
で作成したすべてのものを消去するcleanMemory
アクションの2番目のボタン。 Profile
をActivity Monitor
で開始すると、私のプログラムはstartAnimation
ボタンを押して16 mb Real Mem
に変わり、アニメーション後にcleanMemory
ボタンを押しますが、同じ16 mb Real Mem
...同じ理由があります。なぜですか?私は私の記憶を始まった価値(4メガバイトリアルMem)にきれいにするつもりはない。どうか問題があるのですか?