成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS開發(fā)是否應(yīng)該使用ARC?

移動開發(fā) iOS
關(guān)于ARC的介紹文章網(wǎng)上已經(jīng)很多,蘋果的官方文檔也不少。擔(dān)心使用ARC會帶來問題的同學(xué)主要的理由有以下5點:1.擔(dān)心這個技術(shù)方案不靠譜;2.原有的項目在非ARC環(huán)境下運行良好,擔(dān)心遷移至ARC環(huán)境下運行出錯。

和身邊做iOS開發(fā)的同事組建了一個QQ群,每隔一段時間,大家就會討論是否應(yīng)該使用ARC。所以我覺得有必要將這些討論分享出來,讓大家消除對于ARC的疑慮。

關(guān)于ARC的介紹文章網(wǎng)上已經(jīng)很多,蘋果的官方文檔也不少。擔(dān)心使用ARC會帶來問題的同學(xué)主要的理由有以下5點:

1.擔(dān)心這個技術(shù)方案不靠譜。蘋果大多數(shù)時候的技術(shù)方案都是比較靠譜的,但也有一些技術(shù)方案有很多坑,例如storyboard。關(guān)于storyboard的問題可以參看我的這篇文章。
2.原有的項目在非ARC環(huán)境下運行良好,擔(dān)心遷移成本或引入新的問題。
3.蘋果以前手工管理內(nèi)存需要非常小心,稍微不注意應(yīng)用程序就崩潰了。有過這段經(jīng)歷的iOS開發(fā)老手,心里上還是覺得自己手工管理內(nèi)存更踏實一些。
4.使用ARC需要了解ARC的一些細(xì)節(jié),還需要引入_bridge等新的關(guān)鍵字,學(xué)習(xí)成本還是有的。
5.以為ARC只能支持iOS5.0以上(這是非常大的誤解)。
對于上面提到5點問題,我認(rèn)為相應(yīng)的回答如下:

1.ARC是WWDC2011大會時提出的技術(shù),離現(xiàn)在已經(jīng)快2年了,而且蘋果現(xiàn)在將MacOS上的垃圾回收機制廢棄(Deprecated),采用ARC替代,無疑證明了ARC是成熟的了。
2.確實有一些遷移成本,但蘋果在Xcode中專門集成了遷移工具,成本已經(jīng)非常小了。如下圖就是Xcode集成的將非ARC工程轉(zhuǎn)換成ARC工程的工具。另外,為了兼容第三方的非ARC開源庫,你也可以在工程中隨意使用編譯參數(shù):-fno-objc-arc ,這個參數(shù)允許對部分文件關(guān)閉ARC。
3.手工管理內(nèi)存雖然踏實,但是泄露很容易發(fā)生。常常開發(fā)完成后,需要使用Instruments來檢測泄露。但用了ARC后,基本不會出現(xiàn)泄露了,我在 開發(fā)粉筆網(wǎng)iPhone客戶端時,由于使用了ARC,花三個月開發(fā)完的應(yīng)用,用instruments檢測后,沒有發(fā)現(xiàn)任何內(nèi)存泄漏問題。這在沒有使用 ARC的工程中是不可想象的。
4.確實有學(xué)習(xí)成本。但是非常值得學(xué)習(xí),能省不少開發(fā)精力。
5.雖然ARC是與iOS5一同推出,但是由于ARC的實現(xiàn)機制是在編譯期完成,所以使用ARC之后App仍然可以支持iOS4.3。稍微需要注意的是, 如果要在ARC開啟的情況下支持iOS4.3,需要將weak關(guān)鍵字換成 __unsafe_unretained,另外還有一些細(xì)節(jié)需要處理,在這里我就不展開說了。

所以,希望大家都能在項目中使用ARC,一旦你感受到它帶來的好處,你就離不開它了。它也能讓你從繁瑣的內(nèi)存管理代碼中解放出來,將精力更多關(guān)注于代碼結(jié)構(gòu)、設(shè)計模式而不是底層的內(nèi)存管理。

責(zé)任編輯:閆佳明 來源: blog.devtang
相關(guān)推薦

2012-01-18 13:46:37

ARCiOS

2012-01-18 10:57:37

ARCiOS

2024-10-30 08:19:07

2013-09-30 09:49:06

存儲網(wǎng)絡(luò)FCoE存儲

2014-10-11 10:20:50

程序員

2012-08-03 10:36:29

2011-11-09 10:40:39

2024-08-16 09:33:19

2013-03-25 13:41:10

iOS5ARC內(nèi)存管理

2012-11-01 16:56:06

2013-07-22 14:15:17

iOS開發(fā)ASIHTTPRequ

2013-07-22 14:33:15

iOS開發(fā)ASIHTTPRequ

2014-06-13 11:06:36

RoboVMiOS應(yīng)用

2011-08-08 13:26:48

iOS開發(fā) Twitter

2021-06-16 09:10:29

APP開發(fā)AndroidiOS

2013-07-03 10:48:58

設(shè)計師iOS應(yīng)用iOS人機交互

2018-07-09 14:05:16

編程語言PythonPipenv

2013-06-05 09:22:51

網(wǎng)絡(luò)服務(wù)NaaS

2013-10-23 09:24:12

開發(fā)者功能

2013-07-22 13:48:55

iOS開發(fā)ASIHTTPRequ使用Cookie
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩资源| 日韩日韩日韩日韩日韩日韩日韩 | 国产91精品网站 | 欧美乱操| 999国产视频 | 成年网站在线观看 | 在线播放中文字幕 | 久久久久久久久久久久久久久久久久久久 | 91视视频在线观看入口直接观看 | 日韩欧美国产一区二区三区 | 中文字幕亚洲精品 | 综合亚洲视频 | 999精品在线观看 | 日韩中文在线观看 | 亚洲欧美在线一区 | 自拍偷拍亚洲欧美 | 妖精视频一区二区三区 | 免费黄色在线观看 | 亚洲国产高清在线观看 | 精品日韩一区 | 国产一区二区三区在线观看免费 | 日韩三级在线观看 | 亚洲欧美一区在线 | 国产综合网址 | 欧美久久久久久久久 | 欧美国产日本一区 | 日本在线网址 | 亚洲一区二区三区在线 | 丁香五月网久久综合 | 在线免费中文字幕 | 国产精品久久久久aaaa樱花 | 亚洲大片一区 | 亚洲国产一区二区在线 | 人人人干| 久久精品色欧美aⅴ一区二区 | 精品av| 国产高清精品在线 | 毛片免费观看视频 | 国产精品视频999 | 日本超碰 | 国产成人午夜高潮毛片 |