我最近将设备从8.1升级到iOS 8.3。
,当我的应用程序设置为8.1版本时,我的应用程序在设备上工作正常,但现在升级后它就冻结了。
我调试并弄清楚它冻结的时间和原因。
我有5个容量为50的数组,每个数组包含从不同地方收到的字符串(ble,gps,video)。
当NSArray
达到它的容量时,我将所有内容写入文件并从NSArray
中删除所有对象。我有一个UIButton
,当它被按下时,我开始将数据收集到NSArray
并将其写入文件 - >当它冻结时!
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:fileName];
//check if file exisits, if not creates one.
if(![[NSFileManager defaultManager]fileExistsAtPath:filePath])
{
[[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];
}
//writes and adds data the content to the specifec file.
NSFileHandle *fileHandler = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
[fileHandler seekToEndOfFile];
[fileHandler writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandler closeFile];
为什么升级版本的设备会对我的应用程序产生影响?
编辑: 控制台日志似乎仍然在运行(我让他打印当前的功能)虽然设备已冻结。
答案 0 :(得分:2)
正如Ashwin建议我将我的活动转移到后台主题并且效果很好!