抛出WindowManager android.view.WindowLeaked时,是否恢复了内存?

时间:2019-03-15 19:52:23

标签: android memory-leaks android-dialogfragment android-dialog android-windowmanager

在某些罕见的情况下,我会收到类似import UIKit import PlaygroundSupport let containerView = UIView (frame: CGRect(x: 0, y: 0, width: 600, height: 600)) containerView.backgroundColor = UIColor.blue let button = UIButton (frame: CGRect(x: 100, y: 100, width: 200, height: 200)) button.backgroundColor = UIColor.yellow button.setTitle("Test Button", for: .normal) button.setTitleColor(.red, for: .normal) button.layer.cornerRadius = 10 func ButtonClicked(_ sender: UIButton) { print() } button.addTarget(self, action: #selector(ButtonClicked), for: .touchUpInside) containerView.addSubview(button) PlaygroundPage.current.liveView = containerView 的错误。当Android意识到这种情况已经发生并抛出此错误时,它是否还会回收内存并修复泄漏?

对我来说,发生了什么事,如果有一个通知出现并且用户单击它,则我放弃了当前活动并开始处理该通知的新活动,但是如果用户在上一个活动中打开了一个对话框窗口,然后就泄漏了我认为处理此问题的“正确”方法是跟踪是否为每个活动打开了一个对话框,然后在活动的E/WindowManager: android.view.WindowLeakeddismiss对其进行了打开,但这会给屁股,只是检查一下是否可以避免在每次活动中都这样做,前提是Android已经为我完成了这项工作。

0 个答案:

没有答案