사용자가 앱을 실행할 때마다 백그라운드 스레드를 통해 콘텐츠의 일부를 색인화하려고합니다. 백그라운드 작업 및 앱 중간에 홈 버튼이 1 번 백그라운드로 이동하면 "신호 9로 종료되었습니다."라는 메시지가 나타납니다. 앱이 포어 그라운드 모드이지만 백그라운드 스레드에서 앱을 크래시하지 않으면 가능한 콘텐츠의 색인을 생성하려고합니다. 내 주된 문제는 응용 프로그램이 배경 스레드에서 실행되는 작업 중간을 죽인 이유입니다. 심지어 작업이 콘솔의 인쇄 문자열 일뿐입니다! 이 시나리오를 어떻게 처리해야합니까?1 번 누를 때 신호 9로 인해 종료 됨 iOS 앱에서 백그라운드 작업 (GCD 사용) 중간에있는 홈 버튼
0
A
답변
0
당신이 같은 작업 뭔가 함께 할 때 당신은 백그라운드 작업을 시작하고 종료 할 것이
var bgTask: UIBackgroundTaskIdentifier?
(endBackgroundTask 당신의 객체 속성으로 bgTask을 추가하고
let application = UIApplication.shared
bgTask = application.beginBackgroundTask(withName: "name", expirationHandler: {
self.endBackgroundTask()
})
DispatchQueue.global(qos: .background).async {[weak self] in
//do your stuff here
self?.endBackgroundTask()
}
추가) 방법
func endBackgroundTask() {
if bgTask != UIBackgroundTaskInvalid {
UIApplication.shared.endBackgroundTask(bgTask!)
bgTask = UIBackgroundTaskInvalid
}
}
자세한 내용은 여기를 참조하십시오.
관련 문제
- 1. 안드로이드의 홈 버튼을 누를 때 앱 종료
- 2. 홈 버튼을 누를 때 iOS 사운드가 사라집니다.
- 3. GCD 백그라운드 작업 최대 TTL
- 4. 백그라운드 시간 작업 iOS
- 5. 입력을 누를 때 x 번 작업 수행
- 6. Gitlab 백업 오류 : pack-objects가 신호 9로 인해 사망했습니다.
- 7. 메모리 압력으로 인해 종료 됨
- 8. iOS 백그라운드 작업 완료 프로그래밍
- 9. UWP 백그라운드 작업 시스템 종료
- 10. 단일 문자로 인해 iOS가 비정상 종료 됨
- 11. 시스템 오버레이로 인해 활동이 종료 될 때 창문이 누출 됨
- 12. GCD 백그라운드 스레드에 알리기
- 13. iOS 광고 표지 (백그라운드)
- 14. Cordova iOS 앱 저장 공간이 종료 됨
- 15. ios 더블 클릭 홈 버튼 이벤트
- 16. 잡히지 않은 예외로 인해 앱이 종료 됨 iOS
- 17. '홈 버튼'을 누를 때 앱 실행 완료
- 18. nimblekit이 종료 코드 1 오류로 인해 실패했습니다.
- 19. 홈 버튼 사용 안함
- 20. 다시 누를 때 앱 종료
- 21. iOS 앱이 예기치 않게 종료 됨
- 22. 백그라운드 작업
- 23. GCD 종료 요청
- 24. iOS 메모리로 인해 종료 되었습니까?
- 25. NSURLSessionDataTask를 사용하는 iOS 백그라운드 작업
- 26. iOS 7 NSURLSession을 사용한 백그라운드 작업
- 27. iOS : App 홈 버튼 바로 가기
- 28. launchd : GCD 관리되는 신호 처리기에서 잠시
- 29. iOS 캘린더 제한으로 인해 앱이 다운 됨
- 30. android : 작업 표시 줄 홈 버튼 사용 안함
앱이 CPU 시간이나 메모리를 너무 많이 사용하면 시스템이 시스템을 종료합니다. –
@YunCHEN 예를 들어 320000 단어의 축척으로 색인을 생성 할 때마다 500 단어의 색인을 생성 할 때마다 500 단어의 색인을 생성하여 홈을 누르면 ..... –
색인 생성을위한 소스 코드를 제공합니다. 특정 문제를 발견하거나 성능을 향상시킬 수 있습니다. –