我的應用程序拍攝一張照片,裁剪它,然後在使用NSCoding保存之前使用濾鏡進行播放。如果我嘗試連續拍攝4-5張照片,應用程序將會崩潰並且沒有錯誤消息。我真的不知道如何調試。我猜這是一個內存問題,但顯然在iOS 5中沒有使用ARC的release
。我添加了一張沒有告訴我的照片,但也許可以提供幫助。應用程序在拍照時崩潰沒有錯誤
回答
您的應用程序明顯(如圖片所示)分配越來越多的內存,而無需再次釋放它時,它不需要任何更多的,你有相當多的(大)內存泄漏。
檢查你的內存管理,並確保例如保存在磁盤上的圖像數據,也不會在任何地方顯示。
我知道的有兩個原因會發生這種情況:
- 超出內存
- 你擋住了太長時間
的UI爲#1,把某種日誌操作的您的應用程序代理didReceiveMemoryWarning
,並且還會掃描控制檯日誌以查找系統發出的(容易忽略)內存警告。在你的應用程序被殺之前,你會得到一段時間的內存警告。
但是,我不知道有什麼好方法可以檢測出當你爲#2死亡時。
但它看起來像你的問題是內存。
您也可能想閱讀我在上面的評論中鏈接了文章。您提到了監督人員爲什麼要殺死該應用程序的兩個原因。看上面的圖片很明顯,這裏的問題是內存消耗過多,時間線上的小黑旗顯示應用程序被殺死的時間。另外,記錄'didReceiveMemoryWarning'並沒有什麼幫助,因爲這隻會告訴你iOS需要你的應用程序釋放內存。還有其他情況發生這種情況,即使您沒有問題,也不會顯示您遇到問題。 – Kerni
@Kerni - 正確的記錄didReceiveMemoryWarning並不能證明它是一個內存問題,也沒有指出泄漏的具體原因,但它確實給了你一個強烈的暗示你有內存問題。不幸的是,沒有可靠的方法來記錄整個內存消耗的時間間隔,在探查器之外,以便了解它可能跳躍的位置。但是,一旦你有了「提示」,分析器(雖然使用起來很尷尬)可以指出你的問題。 –
- 1. 拍照時應用程序崩潰
- 2. 拍攝照片導致應用程序崩潰,沒有錯誤信息
- 3. 應用程序在使用uiimagepicker拍照時出現崩潰
- 4. 在iPhone 4G拍照時應用程序崩潰了嗎?
- 5. iOS應用程序在拍攝連續照片時崩潰
- 6. iOS應用程序在拍照時崩潰
- 7. Android應用程序在拍照時崩潰
- 8. 應用崩潰時試圖拍照
- 9. 拍攝照片時應用程序崩潰UIImagePickerController
- 10. 嘗試拍攝新照片時應用程序崩潰
- 11. 快速拍照時應用程序崩潰
- 12. Android應用程序:應用程序崩潰時,我沒有使用相機拍照
- 13. ios應用程序崩潰沒有錯誤,沒有崩潰報告
- 14. 應用程序攤位 - 沒有崩潰,沒有錯誤
- 15. Android應用程序拍攝一張照片後崩潰?
- 16. 通過相機拍照導致應用程序崩潰
- 17. 激活iPhone拍照動作崩潰我的應用程序
- 18. 立即拍攝2張照片 - 崩潰應用程序
- 19. 拍攝照片後應用程序崩潰
- 20. Heroku的應用程序崩潰沒有錯誤在登錄
- 21. DispatchSourceTimer崩潰應用程序沒有錯誤在segue
- 22. VB.NET程序崩潰沒有錯誤
- 23. 應用程序在拍照時會出現崩潰,持續2至3次
- 24. ios/cordova 2.2.0:應用程序在拍攝多張照片時崩潰
- 25. iOS應用程序崩潰沒有任何錯誤消息
- 26. 應用程序崩潰沒有任何錯誤信息
- 27. Android版應用程序與Retrofit2崩潰沒有錯誤信息
- 28. Android應用程序崩潰,沒有適當的錯誤
- 29. 應用程序崩潰沒有錯誤 - 未處理處理
- 30. Android應用程序崩潰,但代碼顯示沒有錯誤
如果我使用'ARC',應該檢查什麼內存管理? – Segev
使用'ARC'並不意味着您不必關心或擔心內存管理。你仍然可以做錯事。儀器向您顯示物體的創建和釋放位置。下面的文章可能是您開始學習使用工具來跟蹤這些問題:http://www.raywenderlich.com/23037/how-to-use-instruments-in-xcode – Kerni