我想使用基於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