object-c - iOS 開発における ARC でのメモリ解放に関する問題
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-07-03 11:43:05
0
2
1333

ページ 1 のボタンをクリックしてページ 2 にジャンプします。この時点でメモリが 5 MB 増加します。その後、ページ 2 のボタンをクリックしてページ 2 を閉じます。このとき、ページ 2 の dealloc メソッドが実行されます。ですが、5 MB のメモリは解放されません。なぜ?
ARC下のメモリ解放は間に合わないのでしょうか?
ビュー コントローラーまたはオブジェクトが本当に解放されたかどうかを判断するにはどうすればよいでしょうか?

注: Xcode のデバッグ セッションを通じてメモリ使用量を確認します。

曾经蜡笔没有小新
曾经蜡笔没有小新

全員に返信(2)
世界只因有你

次のコードをクラスに追加し、クラスが閉じられたときのログがあるかどうかを見て、このクラスのリリース状態を判断します。 リーリー

例えばクラス名のログ

MyViewController, 如果释放成功的话会有dealloc MyViewControllerその後、再度デバッグして原因を特定します。

考えられる状況:

  • どこかで

    このクラスが参照されています strong

  • )block中直接使用self(应该使用__weak typeof(self) weakSelf = self,然后在block中使用weakSelf

いいねを押す +0
巴扎黑
  1. コントローラーは-(void)deallocメソッドを書き換えます。コントローラーが閉じるかポップするときにメソッドが呼び出されるかどうかを確認します。

  2. 分析を使用してアプリのメモリを分析します

  3. xcode バージョン 8.0 以降を使用している場合は、メモリ マップを表示できます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート