iOS開發是否應該使用ARC?

2021-06-20 07:57:35 字數 555 閱讀 1895

和身邊做ios開發的同事組建了乙個qq群,每隔一段時間,大家就會討論是否應該使用arc。所以我覺得有必要將這些討論分享出來,讓大家消除對於arc的疑慮。

關於arc的介紹文章網上已經很多,蘋果的官方文件也不少。擔心使用arc會帶來問題的同學主要的理由有以下5點:

1.擔心這個技術方案不靠譜。蘋果大多數時候的技術方案都是比較靠譜的,但也有一些技術方案有很多坑,例如storyboard。關於storyboard的問題可以參看我的這篇文章。

2.原有的專案在非arc環境下執行良好,擔心遷移成本或引入新的問題。

3.蘋果以前手工管理記憶體需要非常小心,稍微不注意應用程式就崩潰了。有過這段經歷的ios開發老手,心裡上還是覺得自己手工管理記憶體更踏實一些。

4.使用arc需要了解arc的一些細節,還需要引入_bridge等新的關鍵字,學習成本還是有的。

5.以為arc只能支援ios5.0以上(這是非常大的誤解)。

對於上面提到5點問題,我認為相應的回答如下:

iOS 開發,混合使用 ARC 和非ARC

前提知識 arc automatic reference counting,自動引用計數 在開發 ios 3 以及之前的版本的專案時我們要自己負責使用引用計數來管理記憶體,比如要手動 retain release autorelease 等,而在其後的版本可以使用 arc,讓系統自己管理記憶體。問題...

iOS應用開發 ARC

arc是什麼 arc是ios 5推出的新功能,全稱叫 arc automatic reference counting 簡單地說,就是 中自動加入了retain release,原先需要手動新增的用來處理記憶體管理的引用計數的 可以自動地由編譯器完成了。該機能在 ios 5 mac os x 10....

iOS開發 ARC下dealloc的使用

在mrc時代,我們需要在 dealloc中做很多,比如釋放物件,等等 如今我們已經進入arc時代,對於普通物件的釋放,系統已經幫我們做好了 那是否可以高枕無憂了呢?在arc下我們應該做什麼?觀點 arc下,系統可以幫我們釋放該物件,及其包含的物件 但是卻無法釋放不屬於該物件的一些東西,如 1.通知的...