作者:qianyu2602915863 | 来源:互联网 | 2023-06-29 10:54
例如清空cache,在画面结束时让UIWebView加载空白页面,但经过实机测试,发现并没有什么效果内存占用过高怎么办。随后发现了另一种变相的解决方式,既然
例如清空cache,在画面结束时让UIWebView加载空白页面,但经过实机测试,发现并没有什么效果内存占用过高怎么办。随后发现了另一种变相的解决方式,既然无法阻止内存占用量的持续上升,就把它控制在一定的范围以内并及时清空。
具体的方式如下:
在UIApplicationDelegate中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中添加如下代码:int cacheSizeMemory = 4*1024*1024; // 4MB
int cacheSizeDisk = 32*1024*1024; // 32MB
NSURLCache *sharedCache = [[[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@"nsurlcache"] autorelease];
[NSURLCache setSharedURLCache:sharedCache];
同时追加内存警告时的处理:- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
[[NSURLCache sharedURLCache] removeAllCachedResponses];
经实机测试,的确会降低系统内存的用量,但应用本身的内存占用量没有大的变化内存占用过高怎么办。