2014-12-04 86 views
0

我正在iOS應用上工作(幫忙)。在大多數設備上,應用程序的穩定存儲使用量在60-80MB之內。同樣的應用程序(和同一修訂版)在iPhone 6+開始使用千兆字節數據在幾分鐘內...到了填滿存儲的地步,我甚至無法從XCode運行應用程序了。我只能在iPhone 6上使用它,但在6以上的情況下,這種情況經常發生。我也嘗試過從第五代iPod touch到iPhone 5的其他設備,沒有其他設備超過80MB。iPhone 6+中的存儲空間使用率高得可笑

使用大量存儲的代碼的唯一部分是圖像緩存,它緩存從鍵入圖像ID的服務器下載的(靜態)圖像。然後再次這個代碼是(或似乎是)在其他設備上正常工作。它也是代碼庫的一部分,在一段時間內沒有改變。

任何人都可以想到爲什麼這個問題只出現在iPhone6 +(和太多程度較低的iPhone6)?

+0

你能發佈一些圖片緩存代碼嗎? – Jack 2014-12-04 19:57:29

+0

使用。儀器!這就是它的目的。 – matt 2014-12-04 19:57:50

+0

@matt儀器似乎崩潰。 – copolii 2014-12-04 20:01:53

回答

1

問題是啓用了malloc堆棧日誌記錄並未設置爲壓縮。它記錄了應用程序所做的每一次分配,這是日誌文件變得如此之大。至於爲什麼它只出現在iPhone6和iPhone6 +上,我仍然沒有答案。

有問題的文件是stack-logs.773.1006c8000.REDACTED.wmQj2k.index。登錄後,它幾乎增長到700MB。

非常感謝@ jrturton,因爲他的回答確實導致了這一點。

+0

哦,幹得好!不過,你應該接受你自己的答案,因爲它有真正的原因。 – jrturton 2014-12-09 07:44:08

+1

@jrturton我會接受它......但只是因爲你堅持:)非常感謝你的幫助。感謝所有的建議。 – copolii 2014-12-10 01:52:54

1

這是不是一個解決方案,因爲它是不可能知道發生了什麼,但你應該看看下面的:

  • 這是重複性的模擬器? (文件系統更容易查看)
  • 當應用程序被刪除時,存儲是否被釋放?
  • 你能看到xcode中的設備管理器中的數據(他們一直在移動它,但某處你可以插入設備,看到應用程序,然後看到該應用程序的文件沙箱)
  • 它是什麼數據?這應該給你一個關於它的起源的線索
  • 在應用程序中是否存在一組啓動問題的操作?

如果這樣做,你應該得到有關違規代碼的線索。然後,更新你的問題,除非解決方案明顯!

+0

尚未嘗試模擬器。一旦應用程序被刪除,存儲空間將被釋放。我將檢查設備組織者的數據。我懷疑它是圖像緩存,但正如我上面所說的那樣,代碼已經在多年的迭代中沒有這個問題。似乎沒有一個具體的行動,使它存儲飢餓。當用戶沒有登錄時,該應用程序沒有太多工作。一旦用戶登錄並瀏覽應用程序,存儲堆積如山。 – copolii 2014-12-06 01:09:15

+0

檢查其中一個文件 - > http://stackoverflow.com/a/27370445/675750 – copolii 2014-12-09 02:25:12

相關問題