24/7 twenty-four seven

iOS/OS X application programing topics.

iOS 5.1 ではスクロールビューをスクロールするたびに少しずつメモリリークが起こる。

iOS 5.1 では UIScrollViewにバグがあるようで慣性スクロールが終わるタイミングで少しずつメモリがリークしてしまうようです。
UIScrollView を継承している UITableView や UITextView も同じ不具合が発生します。
内部に UIScrollView を保持している UIWebView も同様です。


Xcode 4.3.1 の Single View Application に下記のコードを追加しただけのアプリケーションと Instruments の Leaks を使用して検証しました。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 460.0f)];
    scrollView.contentSize = CGSizeMake(320.0f, 920.0f);
    [self.view addSubview:scrollView];
    [scrollView release];
}

iOS 5.1 ではシミュレータでも iPhone でも iPad でもメモリリークが発生しました。
5.0.1 や 4.3.5 ではシミュレータ、デバイスとも再現しませんでした。


アップルの Developer Forums にもこの問題についての書き込みがありました。

Developer Forums: Elements App Memory Leak


アプリケーション側で対処できることは無さそうなので私たちにできることはバグレポートを送ってできる限り早く修正してもらうことですね。

Apple Bug Reporter