iOS 9:扩展程序在达到5mb内存使用量时崩溃

时间:2018-04-25 11:51:28

标签: ios objective-c xcode ios9

我开发了一个网络扩展程序,一旦内存达到5MB标记就会崩溃。经过谷歌搜索后我发现在iOS 9内存扩展限制为5MB,在iOS 10及以上版本中有15MB.My扩展在iOS 11设备上运行良好所以这些统计数据对我自己来说是真实的。虽然我找不到任何关于内存限制的官方文档。

我只是想知道有没有一种方法可以代表app而不是代表扩展来运行部分代码,然后再从app中获取数据。只是随机想一想!!

此外,如果有任何方法可以减少扩展程序的内存使用量,请分享您的想法(随机欢迎也是如此)。

添加了一些似乎对我自己最可疑的代码。

CFErrorRef err = NULL;
        NSLog(@"URL to be examined is: %s",url);
        NSURL* URL = [NSURL URLWithString:[NSString stringWithUTF8String:url]];
        NSString* str = [NSString stringWithUTF8String:pacData];
        NSArray* proxies = CFBridgingRelease(CFNetworkCopyProxiesForAutoConfigurationScript((__bridge CFStringRef)str, (__bridge CFURLRef)URL, &err));
        NSLog(@"Proxies Found are: %s",url);
        if(err || !proxies || [proxies count] < 1){
            NSError* nserr = CFBridgingRelease(err);
            NSLog(@"pac err:%@",nserr.debugDescription);
            nserr = nil;
        }else{
            NSDictionary* settings = [proxies objectAtIndex:0];
            NSString* temp = [settings objectForKey:(NSString*)kCFProxyHostNameKey];
            NSNumber* port = [settings objectForKey:(NSString*)kCFProxyPortNumberKey];
            if(temp){
                NSLog(@"pac success:%@",temp);
                returnvalue = [NSString stringWithFormat:@"PROXY %@:%d;",temp,port.intValue];
//                return (char*)temp.UTF8String;
            }
            settings = nil;
            temp = nil;
            port = nil;
        }
        URL = nil;
        str = nil;
        proxies = nil;

0 个答案:

没有答案