IOS 知識點隨筆

1粤攒、斷點續(xù)傳

斷點續(xù)傳的原理:每次在向服務器請求下載數(shù)據(jù)的同時量没,要告訴服務器是從整個下載文件的數(shù)據(jù)流的某個位置開始下載丑罪,然后服務器就返回從那個位置開始的數(shù)據(jù)流芍耘。

//創(chuàng)建請求對象---關鍵點

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

//設置請求頭信息佳谦,說明只需要請求該次源的一部分數(shù)據(jù)

/*

? ? bytes = 0-1000 表示下載0~1000的數(shù)據(jù)

? ? bytes = 0- ? ? 表示從0開始下載直到下載完畢

? ? bytes = 100- ? 表示從100開始下載直到下載完畢

*/

NSString *range = [NSString stringWithFormat:@"bytes=%zd-",self.currentSize];

[request setValue:range forHTTPHeaderField:@"Range”];

2戴涝、IOS緩存策略

緩存的本質是用空間換取時間

NSURLCache是iOS系統(tǒng)提供的內存以及磁盤的綜合緩存機制,NSURLCache對象被存儲沙盒中Library/cache目錄下钻蔑。

AFNetworking中AFImageDownloader使用AFAutoPurgingImageCache和NSURLCache管理圖片緩存啥刻。

3、UITableView載優(yōu)化

cell的復用:

cell的高度:提前計算高度

cell的渲染:渲染最好時的操作之一就是混合(blending)了,所以我們不要使用透明背景咪笑,將cell的opaque值設為Yes可帽,背景色不要使用clearColor,盡量不要使用陰影漸變等窗怒;減少subviews的個數(shù)和層級映跟;避免CALayer特效(shadowPath):不要給cell動態(tài)添加subView,在初始化cell的時候就將所有需要展示的添加完畢,然后根據(jù)需要來設置hide屬性顯示和隱藏扬虚。

異步化UI努隙,不要阻塞主線程.

滑動時按需加載對應的內容

4、網(wǎng)絡優(yōu)化

最小化應用使用的專有域名的數(shù)量

如果子域名數(shù)量上升至兩位數(shù)孔轴,我們需要仔細考慮這方面的優(yōu)化了

DNS預先下載

SSL握手時間

如果應用中所有連接均是通過 TLS/SSL 的(使用HTTPS)

最大程度減少應用發(fā)起的連接數(shù)剃法,也需要減少應用連接的獨有域名的數(shù)量

請求結束后不要關閉 HTTP/S 連接

為所有的 HTTP/S 的請求添加頭 Connection: keep-alive

如果適用,當網(wǎng)絡可用時,支持同步的離線存儲

5贷洲、IOS-Runtime

動態(tài)交換兩個方法的實現(xiàn)

動態(tài)添加方法

動態(tài)添加屬性

6收厨、IOS-Runloop

RunLoop是一個對象,這個對象在循環(huán)中用來處理程序運行過程中出現(xiàn)的各種事件(比如說觸摸事件优构、UI刷新事件诵叁、定時器事件、Selector事件)钦椭,從而保持程序的持續(xù)運行拧额;而且在沒有事件處理的時候,會進入睡眠模式彪腔,從而節(jié)省CPU資源侥锦,提高程序性能。

什么時候使用run loop

僅當在為你的程序創(chuàng)建輔助線程的時候德挣,你才需要顯式運行一個run loop恭垦。

對于輔助線程,你需要判斷一個run loop是否是必須的格嗅。如果是必須的番挺,那么你要自己配置并啟動它。你不需要在任何情況下都去啟動一個線程的run loop屯掖。

例如:使用端口或自定義輸入源來和其他線程通信玄柏;使用線程的定時器;Cocoa中使用任何performSelector…的方法贴铜;使線程周期性工作粪摘。

如果你決定在程序中使用run loop,那么它的配置和啟動都很簡單绍坝。和所有線程編程一樣赶熟,你需要計劃好在輔助線程退出線程的情形。讓線程自然退出往往比強制關閉它更好陷嘴。

7映砖、iOS熱更新實現(xiàn)方式

1、JSPatch:熱更新時灾挨,從服務器拉去js腳本邑退,理論上可以修改和新建所有的模塊,但是不建議這樣做劳澄,用來做緊急的小需求和 修復嚴重的線上bug地技。

2、lua腳本:從服務器拉去lua腳本秒拔,游戲開發(fā)經(jīng)常用到莫矗。

3、Weex:跨平臺,weex基于vue.js作谚,weex是阿里開源的技術三娩。

4、React Native:不像Weex能一套代碼多端運行妹懒,適配iOS和android需要自己分別做修改雀监。React Native和Weex都 可以進行熱更新,但都不能修改原生OC代碼眨唬。JSPatch会前、lua 配合React Native可以讓一個原生APP時刻處于可擴展可修改的狀態(tài)。

5匾竿、Hybrid:像PhoneGap之類的框架, 基本概念和web差不多, 通過更新js/html來實現(xiàn)動態(tài)化瓦宜,沒有原生的效果流暢。

6岭妖、rollout.io:Rollout緊急修復線上bug歉提。后端有相關的管理頁面,要翻墻才能使用区转。

7、DynamicCocoa:滴滴iOS的一個框架版扩,與JSPatch比更加智能化废离,用OC在XCode中寫完代碼,用工具可以自動生成可以更新的js文件礁芦。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末蜻韭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子柿扣,更是在濱河造成了極大的恐慌肖方,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件未状,死亡現(xiàn)場離奇詭異俯画,居然都是意外死亡,警方通過查閱死者的電腦和手機司草,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門艰垂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人埋虹,你說我怎么就攤上這事猜憎。” “怎么了搔课?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵胰柑,是天一觀的道長。 經(jīng)常有香客問我,道長柬讨,這世上最難降的妖魔是什么崩瓤? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮姐浮,結果婚禮上谷遂,老公的妹妹穿的比我還像新娘。我一直安慰自己卖鲤,他們只是感情好肾扰,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛋逾,像睡著了一般集晚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上区匣,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天偷拔,我揣著相機與錄音,去河邊找鬼亏钩。 笑死莲绰,一個胖子當著我的面吹牛,可吹牛的內容都是我干的姑丑。 我是一名探鬼主播蛤签,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼栅哀!你這毒婦竟也來了震肮?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤留拾,失蹤者是張志新(化名)和其女友劉穎戳晌,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痴柔,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡沦偎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了咳蔚。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扛施。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖屹篓,靈堂內的尸體忽然破棺而出疙渣,到底是詐尸還是另有隱情,我是刑警寧澤堆巧,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布妄荔,位于F島的核電站泼菌,受9級特大地震影響,放射性物質發(fā)生泄漏啦租。R本人自食惡果不足惜哗伯,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望篷角。 院中可真熱鬧焊刹,春花似錦、人聲如沸恳蹲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嘉蕾。三九已至贺奠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間错忱,已是汗流浹背儡率。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留以清,地道東北人儿普。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像掷倔,于是被迫代替她去往敵國和親眉孩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內容

  • 1.調用系統(tǒng)相冊今魔、相機發(fā)現(xiàn)進入系統(tǒng)界面后標題顯示為英文如“photos”,“cancle”障贸, 要想改為中文需要在工...
    Amanda_Lhy閱讀 137評論 0 0
  • 1.選錯專業(yè),背后的邏輯 別說專業(yè)是很平常的一件事情袁波,是這個時代的問題瓦阐,教育體制的問題。 2.手上拿了一杯水篷牌,接下...
    CNBLUEone閱讀 128評論 0 0
  • 通過認識到您的真正優(yōu)先事項來消除不必要的壓力睡蟋。 今天的創(chuàng)業(yè)母親在成功的道路上面臨著許多挑戰(zhàn)。美麗的妻子枷颊,充滿愛心的...
    Oscarwsh楷恆閱讀 82評論 0 0
  • “你這么大了,不會沒有喜歡的女孩子吧信卡?” “當然有案糇骸!” "如果不是我想聽到的答案那就別說了" “我就喜歡你這樣的...
    沐U閱讀 186評論 0 0
  • 伴著淅淅瀝瀝的雨聲入眠, 雨是紫色的丢习, 夢是粉紅色的牵触。 大雪紛飛的夜晚, 黃色的壁爐泛领, 木屋的窗邊荒吏, 黑色的眼睛映...
    Faro閱讀 292評論 0 0