2013-02-23 68 views
0

我幾乎完成了我的應用程序的開發。該應用隨機點退出,用戶界面非常緩慢地凍結/加載。該應用程序沒有ARC,我剛開始使用Xcode Instruments來修復內存問題。我正在考慮將整個項目移至ARC,但不知道這是否有幫助。另外,Instrument Allocations所提供的許多流程似乎並沒有佔用太多的內存。用戶界面凍結時,加載和應用程序崩潰頻繁

我需要找出提高我的應用程序效率的最佳方法。我對這方面的知識很少,並且閱讀了關於如何做某些事情來提高效率的各種教程,我只是不知道從哪裏開始。我應該轉換爲ARC嗎?我應該專注於使用Xcode中的Allocations/Leaks/Profile Instruments嗎?我知道它可能與我的應用程序有關,我只是不知道從哪裏開始。任何一般的建議都會很棒!謝謝你們!

+1

ARC不會加快速度。對於一個真正的響應式界面,您應該將處理轉移到背景中。 – CodaFi 2013-02-23 07:08:19

+0

因此,我應該制定自定義方法,而不是在viewdidappear和viewdidload中調用我的JSON訂閱源/其他進程。 – Brandon 2013-02-23 07:09:55

+0

不僅如此。蘋果在後臺進行處理變得微不足道。您可以在低端使用GCD,在高端使用NSThread和NSOperation。最難的部分是選擇你想要實現哪一個(或者使用混合,只記得帶有線程的標準資源訪問規則)。 – CodaFi 2013-02-23 07:11:36

回答

1

更改爲ARC並不能幫助您,而不是專注於分配/泄漏。如果一次又一次地做某事,也嘗試優化你的代碼。另外,如果您使用同步Web服務調用,它也會凍結應用程序。

+0

謝謝。有沒有一種標準的方法來使異步Web服務調用異步?還是我只需要去研究一下? – Brandon 2013-02-23 07:16:08

+0

對於異步Web請求,我建議使用[AFNetworking](https://github.com/AFNetworking/AFNetworking)。但是這個項目需要ARC工作。 – 2013-02-23 09:47:17

0

如果您的應用程序不是很大,我建議您將該項目移至ARC。使用ARC解決了許多開發人員在內存方面的錯誤。

當我們有ARC時,爲什麼不使用它?

另一件事是,如果有時間的過程。在後臺線程中執行它們。

相關問題