伙计们,在您的帮助下,我想出了这个非常有效的解决方案!
我正在使用一个带有标记的html“模板”文件和一个UIWebView。
基本上我正在做的是以下内容:
- 获取html文件路径。
- 使用 html 模板的内容创建一个字符串。
- 用我的字符串替换 html 中的标记(NSLocalized 字符串 - 大量文本)。
- 使用“loadHTMLString”加载到新创建的字符串的 WebView 内容中。
结果:从 70MB 的内存占用,现在我有 12MB 的内存占用(相当于约 20 个 A4 文本页)。
这是代码:
NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"yourhtmlfile" ofType:@"html"];
NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[_webView setBackgroundColor:[UIColor clearColor]];
[_webView setOpaque:NO];
NSString *htmlBody = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF16StringEncoding error:nil];
htmlBody = [htmlBody stringByReplacingOccurrencesOfString:@"//marker_1//" withString:NSLocalizedString(@"localizedKey_1", nil)];
htmlBody = [htmlBody stringByReplacingOccurrencesOfString:@"//marker_2//" withString:NSLocalizedString(@"localizedKey_2", nil)];
htmlBody = [htmlBody stringByReplacingOccurrencesOfString:@"//marker_3//" withString:NSLocalizedString(@"localizedKey_3", nil)];
[self.webView loadHTMLString:htmlBody baseURL:baseURL];
现在我可以使用像文本格式这样的 html 好东西 :D !
我希望以上内容能帮助很多人:)!
谢谢大家的支持!