2012-12-07 26 views
1

在我的應用程序中,用戶最多可以添加8個由相機拍攝的圖像,並將它們逐個上傳到服務器。 我的問題是,即使在拍攝第一張照片時,我也會收到內存警告,這當然會強制應用程序釋放任何不可見的視圖。在iphone上處理圖像和相機時的內存問題

處理圖片的最佳實踐方法是什麼? 如何保持它們直到它們上傳,而不會耗盡內存?

我的目標是避免任何內存警告。

在此先感謝。

/Esben

+0

如何存儲圖像?你是否將它們存儲爲NSData?或將它們存儲在目錄中。發佈一些代碼。 –

+0

您知道內存警告是由iOS定期/寬鬆地提供的嗎?僅僅因爲你拿到一個並不意味着手機內存不足。這意味着你應該放棄不必要的數據。如果您需要堅持通過* first *內存警告的圖像,那可能就是您需要做的。 – Nate

+0

獲取內存警告確實會導致應用程序釋放所有不在視圖中的內容(適用於框架)。我通過重新加載viewWillAppear中的所有視圖來解決這個問題。 – esbenr

回答

4

單擊圖像將圖像存儲到文檔目錄後。這是最安全的選擇,以存儲

圖像,然後使用它。找到一些教程,然後點擊圖片發送圖像文件

目錄,然後從目錄中獲取並使用它。希望它可以幫助你。

+0

這確實是我如何解決我自己的問題。捕獲後立即將捕獲的圖像寫入「文檔」文件夾。當我需要上傳圖片時,我直接從磁盤讀取圖片進行請求。這個工程Doesen不會擺脫內存警告,但它確保iOS不殺死應用程序。謝謝。 – esbenr

0

繼續以下步驟。

我面臨這樣的問題,現在它爲我工作使用以下步驟。

  1. 選擇圖像並顯示到UIImageView。然後上傳到服務器。

  2. 發佈UIImageView。

  3. 再次拍照並上傳到服務器。