こんにちは。
以下の開発環境でiPad向けアプリを開発している者です。
xcode6.4
swift1.2
メモリの解放方法がわからず困っています。
具体的な状況は、3つ画面間を遷移するときに、
メモリが解放されずにメモリが溜まっていき、
メモリがたまりきったときにアプリが落ちる
と言う現象が起きています。
(2つの画面間の遷移ではメモリ解放がうまくいっています)
私の理解では、画面遷移(前の画面に戻る)のときに
UIViewController.dismissViewControllerAnimated(true, completion: nil)
で画面遷移すれば、遷移前の画面で使用したインスタンスは解放されると思っています。
しかし、3つの画面(例. 画面A、画面B、画面C)の間を遷移するとき、
画面A→画面B→画面C→画面B→画面A
の流れで遷移する時、画面C→画面B→画面Aでは上記のdismissViewControllerAnimated
で遷移しましたが、
メモリは解放されませんでした。
そこで、私は明示的にメモリを解放させるために、dismissViewControllerAnimated
の前に、
以下のコードを記述しました。
略 for subview in self.view.subviews.reverse(){ subview.removeFromSuperview() } 略
しかし、これでもメモリ解放されずに、メモリが溜まり続けます。
このように、3つの画面間の遷移時にメモリを解放する方法を
ご教授願いますでしょうか。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/25 04:05