? ? ? ?現如今iPhone手機受到人們的熱捧,有的人甚至選擇賣腎也要攢錢入手一部蘋果手機。隨著iPhone的粉絲越來越多,也讓越來越多的手機開發人員開始進行IOSapp開發工作。但是在進行APP開發的過程中,還是會遇到很多困難,下面我們來講下就使用ARC會有哪些問題以及相關的解決方法做一個詳細分析。
一、IOS開發者擔心使用ARC會帶來的問題
1.原有的項目在非ARC環境下運行良好,擔心遷移成本或引入新的問題。
2.擔心這個技術方案不靠譜。蘋果大多數時候的技術方案都是比較靠譜的,但也有一些開發技術方案有很多坑,例如storyboard。
3.使用ARC需要了解ARC的一些細節,還需要引入_bridge等新的關鍵字,學習成本還是有的。
4.蘋果以前手工管理內存需要非常小心,稍微不注意應用程序就崩潰了。有過這段經歷的IOS開發老手,心里上還是覺得自己手工管理內存更踏實一些。
二、解決IOS?app開發問題的方法
1.確實有一些遷移成本,但蘋果在Xcode中專門集成了遷移工具,成本已經非常小了。另外,為了兼容第三方的非ARC開源庫,你也可以在工程中隨意使用編譯參數:-fno-objc-arc,這個參數允許對部分文件關閉ARC。
2.ARC是WWDC2011大會時提出的技術,離現在已經快2年了,而且蘋果現在將MacOS上的垃圾回收機制廢棄(Deprecated),采用ARC替代,無疑證明了ARC是成熟的了。
3.確實有學習成本。但是非常值得學習,能省不少開發精力。
4.手工管理內存雖然踏實,但是泄露很容易發生。IOSapp常常在開發完成后,需要使用Instruments來檢測泄露。但用了ARC后,基本不會出現泄露了。
? ? ? ?不同的開發者對使用ARC的看法是不一樣的,當你感受到它給你帶來好處的時候,你就離不開它了。當然它也能讓你從繁瑣的內存管理代碼中解放出來,不過如果不需要也可以將它關閉即可。