實際開發(fā)中的多線程簡單使用場景

? ? ? ? 現(xiàn)在iOS的求職中苹粟,有時候會遇到關(guān)于多線程的問題--“你在項目中飞盆,什么時候用到過多線程”恐锦,然后就能聽到無數(shù)多的AFN請求數(shù)據(jù)滑燃,各種異步請求網(wǎng)絡數(shù)據(jù)的答案役听,但是這個答案講道理,比較粗糙表窘,AFN確實有使用異步請求典予,但是我們在使用的時候,直接發(fā)送Post/Get請求就行了乐严,異步開啟子線程并不是我們操作的瘤袖,而是AFN自己底層進行操作的! -->所以昂验,如果答到AFN捂敌,恐怕不是最理想的答案。


模擬-發(fā)送AFN請求

如圖既琴,只是簡單的Post請求操作占婉,然后我們打開progress,這是AFN在發(fā)送請求的--> ? ? ? ? Block{ ?xxx}呛梆,我們未添加任何dispatch_asyn 或者 NSOperation 的情況下锐涯,通過打印 獲取當前線程。


AFN執(zhí)行過程的線程

如圖填物,我們發(fā)現(xiàn)我們未使用異步發(fā)送請求的Post請求的前提下纹腌,AFN請求執(zhí)行的線程并不是在主線程霎终! --> 而是自己開了一個子線程,所以如果面試的時候回答 AFN升薯,肯定就暴露了自己莱褒,因為AFN的異步請求并不是我們調(diào)用的!我們只是一句簡單的Post請求代碼涎劈。


華麗分割線 ---->那如何回答這個問題广凸!

首先我想說的是,其實在實際開發(fā)中蛛枚,用到多線程的最常見的就是發(fā)送網(wǎng)絡請求獲取數(shù)據(jù)的時候谅海,因為這確實是一項耗時操作,但是因為有AFN在蹦浦,所以我們處理網(wǎng)絡請求其實很簡單扭吁,異步處理是AFN底層做的,并不是我們做的事盲镶!這點定要切記=耐唷!

那我們有地方用到異步處理嗎溉贿? 答案是有的枫吧!


處理圖片的壓縮的時候!

圖片壓縮處理

當有一定工作經(jīng)驗的移動應用開發(fā)工程師宇色,在與產(chǎn)品經(jīng)理夜以繼日的撕逼生活中九杂,潛意識的會對產(chǎn)品的用戶體驗比較上心,為了與產(chǎn)品經(jīng)理之間友好相處(捷徑-->少溝通P洹D崮稹),在開發(fā)中植影,對于性能優(yōu)化只能說-->銘記于心。


壓縮時間計算-->時間差:

NSDate* StartTime = [NSDate date];

//圖片壓縮代碼

double deltaTime = [[NSDate date] timeIntervalSinceDate:StartTime];

NSLog(@"cost time = %f", deltaTime);


未開啟異步壓縮圖片-耗時


開啟異步壓縮圖片

上面2圖所示涎永,異步壓縮的耗時思币,差不多是同步壓縮效率的1000倍


同時,如果壓縮超大圖(比如20M的圖片)-->壓縮到500K羡微,如果不開啟子線程異步壓縮谷饿,通過工具檢測-->內(nèi)存占用可能達到1G,這里由于我們常用的圖妈倔,應該都是<2~3M博投,所有內(nèi)存占用相對沒耗時的差距這么明顯,就不貼出來了盯蝴。

-->1000倍的效率差距毅哗,異步壓縮的作用性就出來了


進階篇-->實際開發(fā)中的GCD使用听怕!

主隊列的異步執(zhí)行

具體用法:實現(xiàn)圖片輪播功能時,設置viewWillAppear 與 數(shù)據(jù)源方法的執(zhí)行順序問題虑绵!

-->用放大數(shù)倍數(shù)據(jù)源的方式(比如50倍)尿瞭,使用collectionView 的良好復用性,實現(xiàn)廣告圖片的無限輪播翅睛。

正常執(zhí)行順序

正常的執(zhí)行順序-->viewWillAppear(or viewDidLoad) --> tableView Delegate


使用主隊列的異步-->實現(xiàn)數(shù)據(jù)源先執(zhí)行声搁,在執(zhí)行viewWillAppear方法

主隊列異步執(zhí)行--執(zhí)行順序的改變

如圖,我們會發(fā)現(xiàn)捕发,tableView Delegate的方法疏旨,竟然走在了viewWillAppear 方法的前面!用這種方法扎酷,我們可以先設置tableView cell的count檐涝,再在viewWillAppear中實現(xiàn)滾動,可以完美實現(xiàn) --> 廣告圖片無限輪播效果~


如圖有小白想知道霞玄,如何用collectionView實現(xiàn)圖片無限滾動的骤铃,我到時候簡單講解一下實現(xiàn)的原理,開源下簡單功能的代碼坷剧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惰爬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子惫企,更是在濱河造成了極大的恐慌撕瞧,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狞尔,死亡現(xiàn)場離奇詭異丛版,居然都是意外死亡,警方通過查閱死者的電腦和手機偏序,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門页畦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人研儒,你說我怎么就攤上這事豫缨。” “怎么了端朵?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵好芭,是天一觀的道長。 經(jīng)常有香客問我冲呢,道長舍败,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮邻薯,結(jié)果婚禮上裙戏,老公的妹妹穿的比我還像新娘。我一直安慰自己弛说,他們只是感情好挽懦,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著木人,像睡著了一般信柿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上醒第,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天渔嚷,我揣著相機與錄音,去河邊找鬼稠曼。 笑死形病,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的霞幅。 我是一名探鬼主播漠吻,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼司恳!你這毒婦竟也來了途乃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤扔傅,失蹤者是張志新(化名)和其女友劉穎耍共,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猎塞,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡试读,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荠耽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钩骇。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖铝量,靈堂內(nèi)的尸體忽然破棺而出伊履,到底是詐尸還是另有隱情,我是刑警寧澤款违,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站群凶,受9級特大地震影響插爹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一赠尾、第九天 我趴在偏房一處隱蔽的房頂上張望力穗。 院中可真熱鬧,春花似錦气嫁、人聲如沸当窗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茫虽。三九已至椅寺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巫员,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工甲棍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留简识,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓感猛,卻偏偏與公主長得像七扰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子陪白,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,139評論 25 707
  • 1.內(nèi)存管理 2.單例的理解 3.post和get的區(qū)別 4.md5和base64是什么颈走,有什么區(qū)別 5.簡單談談...
    coder_Wg閱讀 1,291評論 1 6
  • 2016.05.20 10:24 塵封已久的學習基礎總結(jié)疫鹊,最近公司項目不是很忙,終于抽空整理出來司致,現(xiàn)分享出來拆吆。 1...
    si1ence閱讀 19,724評論 61 589
  • 我希望自己是個男生,能夠追到太陽這個女生 我喜歡上了陽光脂矫,像經(jīng)歷初戀那樣欣喜若狂 我沉迷于她的漫天金光枣耀,魅力璀璨 ...
    微妮安閱讀 474評論 3 6
  • 我想青春期的迷茫,大部分的大學生都會有庭再,這沒什么好丟臉或者不好意思的捞奕。迷茫是常態(tài)。我想在講今天的主題前和大家分享一...
    帥氣的小小男生閱讀 2,130評論 0 0