2012-10-02 50 views
1

在我的應用程序中,我使用了arcgis sdk。我有3個不同的地圖,所以我使用了3個平鋪的地圖服務圖層。此外,我還有一個圖形圖層,用於顯示地圖上選定特定區域的符號。我的應用程序首先將服務連接到憑據,然後將這些圖層添加到地圖視圖中。到目前爲止沒有問題。加載完所有圖層後,我開始對某些查詢操作使用AGSQueryTask和AGSIdentify任務。問題開始。調試器給我「接收到的內存警告。級別= 1」。我繼續進行縮放/平移和額外的查詢操作。過了一段時間,我的應用程序崩潰沒有發生錯誤。我檢查了我的代碼,搜索了我的問題,在arcgis論壇中四處看了一下,但是我沒有找到解決方案和解釋。我試了我的應用程序與1地圖不是3,但警告和崩潰並沒有消失。我還處理隱藏的圖層視圖屬性,沒有任何改進。ARCGIS iOS - 地圖圖層內存問題

畢竟,有沒有人知道我的記憶問題的解決方案或解釋或假設?

P.S.我也用nszombienabled和警衛malloc調試我的代碼感謝stackoverflow :)在這個過程中,我遇到了「:CGBitmapContextInfoCreate:無法分配..字節的位圖數據」。我的記憶問題是否與此錯誤有關?

在此先感謝。

回答

1

這聽起來很像一些內存泄漏,或者不釋放你的應用程序不再使用的內存。

有沒有一般的解決方案,因爲這些問題的原因可能是任何地方,可能是任何東西。

你可以做的是:

  1. 確保你已經在你的類中定義didReceiveMemoryWarning方法和你嘗試釋放有沒有使用的內存;

  2. 在泄漏和內存分配分析工具下運行您的應用程序,並瞭解您可以瞭解他們向您報告的內容;

  3. 如果您沒有內存泄漏,請嘗試使用snapshot analysis來查找廢棄的內存。

在這個過程中,我碰到 「:CGBitmapContextInfoCreate:無法分配..字節位圖數據」。我的記憶問題是否與此錯誤有關?

如果填滿內存,分配調用可能會失敗......這是一個效果,而不是原因。

+0

即使我知道這些,我會再次修改我的代碼。無論如何感謝您的回答。 – user1472211