Ios WebView未在下班后清除self
例如,我有两个UIViewController,第一个由segue在故事板中演示第二个 第二个控制器有一个UIWebView,正在viewDidLoad方法中加载一些默认请求 但每次显示视图控制器时,内存使用都在增加。有人知道我做错了什么吗 运行应用程序: 显示第二个视图控制器并等待UIWebView加载请求: 在不清除任何内存的情况下关闭控制器,第二次显示后,您将看到:Ios WebView未在下班后清除self,ios,swift,memory-management,uiwebview,Ios,Swift,Memory Management,Uiwebview,例如,我有两个UIViewController,第一个由segue在故事板中演示第二个 第二个控制器有一个UIWebView,正在viewDidLoad方法中加载一些默认请求 但每次显示视图控制器时,内存使用都在增加。有人知道我做错了什么吗 运行应用程序: 显示第二个视图控制器并等待UIWebView加载请求: 在不清除任何内存的情况下关闭控制器,第二次显示后,您将看到: 因此,每次演示都需要一些额外的内存,但dismission并不是清除任何请求的内存我建议您使用。然后,您可以简单地查找
因此,每次演示都需要一些额外的内存,但dismission并不是清除任何请求的内存我建议您使用。然后,您可以简单地查找第二个视图控制器是否获得释放,并检查在创建后是否会释放其他活动对象。@MatrosovAlexander已检查。控制器被解除后将被移除,但有一些WebCore进程在thathm之后仍然存在,这真的很奇怪。你们在设备上测试过了吗。或者仅仅为了测试,您可以在nsurlrequest和uiwebivew的dealloc中设置nil。
override func viewDidLoad() {
super.viewDidLoad()
NSURLCache.sharedURLCache().removeAllCachedResponses()
if let url = NSURL(string: "http://www.ilaks.no/setter-ut-rensefisken-for-sent/?utm_source=rss&utm_medium=rss&utm_campaign=setter-ut-rensefisken-for-sent") {
webView.loadRequest(NSURLRequest(URL: url, cachePolicy: .ReturnCacheDataElseLoad, timeoutInterval: 30))
}
}