UIApplication.shared.keyWindow?.rootViewController で画面を差し替えたい時がありますよね? 例えばどんな時があるかとかと言いますと 認証画面があり signup/signin 後に画面を切り替え sigup/signin 後にチュートリアルの画面を表示 signout 後に認証画面を表示 などがあるかなと思います。 タイトルの通り、とある条件を満たして rootViewController を切り替えると差し替える前の viewController が解放されずに残り続けてしまいます。 これは iOS8 頃から認識していた問題ではありますが、iOS10 現在になっても修正されていません。 rdar://21404408: Memory leak in iOS 8+ after setting window.rootViewControlle
![特定の条件で rootViewController を差し替えるとメモリリークする件 - NANAIRO](https://cdn-ak-scissors.b.st-hatena.com/image/square/0cf8b567171a074eb1de1adf68c6e3e83117e7f9/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fd%2Fdealforest%2F20161203%2F20161203042740.png)