2010-03-08 31 views
1

嘿,我一直在爲客戶端構建一個應用程序,其中一部分使用Apple的TopSongs示例應用程序在另一個線程上下載數據。我終於完成了足夠的工作來開始測試該部分,並發現> 1000泄漏!仔細查看泄漏信息後,我檢查了TopSongs的泄漏情況,因爲我的方法都沒有泄漏報告。運行TopSongs返回了26個泄漏。不太清楚如何解決這些問題,或者他們是否是蘋果某些圖書館的一部分。蘋果的示例應用程序TopSongs有26個漏洞

我敢打賭,你問是否有26,爲什麼你有> 1000?那麼,我使用它們的示例大約48次調用webservices來獲取初始安裝所需的所有信息(48次調用x 26次泄漏= 1248次泄漏!!)。之後,它至少會撥打12個電話+4來檢查應用程序其他部分的更新信息。無法對此做任何事情,不能打一個電話,或者不打電話,請不要評論這部分內容。我看到有人回覆那些不一定回答用戶最初發布的問題的帖子,在這種情況下,是否有人嘗試修補漏洞,如果它們是可修補的,還是這是Apple庫中的錯誤?

非常感謝。

回答

6

這更可能是由於樣本代碼比庫本身更糟的原因,一定要熟悉Cocoa內存管理技術,然後爲自己的狩獵季節做好準備。

+0

笑.................. – Rev316

+0

LMAO!是的,一直在那裏做。恨不得**檢查**他們的代碼。但是,如果要完成,就必須完成!一個有趣的答案! – RoLYroLLs

1

正如之前在堆棧溢出中所述,一些報告的泄漏只發生在模擬器中。因此,請注意這一點,並使用構建菜單中的「構建和分析」讓CLANG幫助您查找內存泄漏。

+0

我沒有構建和分析。在嘗試升級到Snow Leopard之前,我開始了此項目。我有Leopard 10.5.8 w/Xcode 3.1.4和iPhone SDK 3.1.2。一旦我完成,我會盡快升級。 – RoLYroLLs

+0

@RoLYroLLs:您仍然可以從Xcode外部手動安裝Clang靜態分析器以在Leopard上使用它:http://clang-analyzer.llvm.org/ –

+0

相信我,如果您習慣了它,您無法生活沒有它了... – bartvdpoel

0

安裝雪豹和Xcode 3.2內置鐺。分析了代碼並沒有問題。我再次運行該應用程序泄漏iPhone上的儀器,仍然有26個泄漏。決定不使用Apple的示例代碼。

*******注意:

這是我接受了答案,但因爲它沒有回答這個問題,我刪除,並接受了回答問題的響應。

相關問題