我有一个应用程序,我正在为我提供JavaScript代码,以便在我的webView中实现。下面的代码是我用来将本地化的JS代码加载到Web视图中以在屏幕上呈现它。
- (void)configureWebView {
self.webView.delegate = self;
NSString *directory = [NSString stringWithFormat:@"/%@", self.model.name];
NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:directory];
NSString *html = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@/",[[NSBundle mainBundle] bundlePath], directory]]];
}
JS在本地加载,但在退出此viewController并重新输入之后(甚至在停留在viewController中并导航JavaScript提供的3D渲染时),一段时间后应用程序将收到内存警告和崩溃。 ViewController被取消分配,在离开后不会保留。 webView似乎留下了内存,JavaScript似乎占用了大量的内存。我为Leaks拍摄了下面的屏幕截图。我不确定这意味着什么,我正在寻找任何人帮我调试情况(确认它是否是UIWebView或JavaScript的错误)。我已经设置了一个基线项目,只有一个webView和加载的JavaScript代码,当我在内存中达到20mb以上时,我确实收到了内存警告。