0

簡単な描画アプリケーションを作成していますが、メモリに問題があります。それを数分使用した後、それはちょうど崩壊し、iPad が非常に遅くなります。

ユーザーが作成する線は 2x2 ピクセルの UIImageView で作成されるため、この UIImageView は複数回作成されます。

UIImageView*dibujo = [[UIImageView alloc] initWithFrame:CGRectMake(x-1,y-1,2,2)];
dibujo.image = [UIImage imageNamed:@"pixelde2po2.png"];
tagdedibujo=tagdedibujo+1;
dibujo.tag=tagdedibujo;
[self.view addSubview:dibujo];

そして、それはこのように消去されています:

    for (int aa=ultimotag+1; aa<=tagdedibujo; aa++) {
    //NSLog(@"destruyendo: %i", aa);
    UIImageView*dibujo1 = (UIImageView *)[self.view viewWithTag:aa];

    [UIView animateWithDuration:0.5 animations:^{
        dibujo1.alpha=0;
    }];

}

[self performSelector:@selector(matardibujo) withObject:(self) afterDelay:(0.51)];
   ultimotag=tagdedibujo;




-(void) matardibujo{
for (int aa=ultimotag+1; aa<=tagdedibujo; aa++) {
    [[self.view viewWithTag:aa] removeFromSuperview];
}

}

de draw (マタルディブジョ) を消しても記憶が戻りません。それさえ成長します。だから私は消去部分がここで混乱しているものだと思います.

私はあなたの助けを高く評価します、私はこれが初めてです。ありがとう :)。

4

1 に答える 1

1

dibujo.image = [UIImage imageNamed:@"pixelde2po2.png"];次のコード行に置き換えて、問題が解決するかどうかを確認できますか?

NSString *fileName = [[NSBundle mainBundle] pathForResource:@"pixelde2po2" ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:fileName];
于 2012-11-07T01:41:27.247 に答える