我想使用基于soap的web服务运行图像上传,并在我的应用程序中面对2个关键问题。使用基于soap的web服务将多个图像上传到服务器
问题1: -当应用程序上传多张图片到服务器,并在如果我的应用程序就会在后台状态下比在这个时候,我的时间是停止执行(application suspended state)
。当我的应用程序从背景回到前景状态比它再次恢复我的后台线程。
问题2: -当我尝试从设备库上传服务器上的160-170图像时。在服务器上传60-70张图片后,我收到内存警告。我处理该方法,并尝试释放应用程序内的一些内存,当我的应用程序崩溃时,我再次启动我的线程。 // - >>对于第二个问题,我添加3个不同的Web服务及其太长的代码,所以我不打算在这里分享。当我检查仪器,它通常运行在最大2至2.5 MB的活字节,但是当我上传线程开始时,它逐渐增加,并在我收到的一些捡点处收到内存警告。我的代码包含ARC的功能,但仍然存在内存警告问题。
问题1码: -
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIDevice* device = [UIDevice currentDevice];
BOOL backgroundSupported = NO;
if ([device respondsToSelector:@selector(isMultitaskingSupported)])
{
backgroundSupported = device.multitaskingSupported;
}
//NSLog(@"backgroundSupported: %d", backgroundSupported);
if (backgroundSupported)
{
_IsBackground = TRUE;
UIApplication* app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:
^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
// Start the long-running task and return immediately.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),
^{
while (_IsBackground)
{
//// it contineous run my application within this state.
}
NSLog(@"Background loop ended");
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
}
}
感谢您的帮助。 – Anjan