0

このようなコードを使用してペン先を頻繁に変更する非常に大きなプロジェクトがあります-

level3 *screen = [[level3 alloc] initWithNibName:@"level3" bundle:nil];
screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:screen animated:YES];
[screen release];

nibsを変更すると、deallocが呼び出されません(メモリ警告が表示された場合にのみ呼び出されます)。私はこれについてかなり多くの研究をしましたが、答えを見つけることができません。誰かがこれを手伝ってくれますか?

4

1 に答える 1

1

答えは、iOS がペン先をキャッシュするためです。もちろん、メモリ警告が表示された場合、そのキャッシュは放棄されます。これは、あなたが見ている動作です。

同じペン先を同じオブジェクトで複数回使用する場合があることに注意してください (テーブルビュー セルなど)。nib のロードは、キャッシュ内のオブジェクトへの参照を維持するのに比べてコストのかかるプロセスです。

于 2011-02-22T16:05:04.973 に答える