ios 面試部分整理

assign weak區別  assign不是有崩潰的風險麼  strong和copy   對非容器類可變類型  非容器類不可變   容器類可變容器類不可變 進行深拷貝淺拷貝有什麼區別    什麼樣的對象能夠進行拷貝  就是這個NScoding協議那個  dealloc的內部實現  內存管理那部分   什麼好比 先去執行 NSObject的dealloc 而後會執行OBJC_rootdealloc 而後執行Objc_dispose和oBjc_CXXdestructInstance   autorelease內部原理   何時釋放
個人電腦  14:49:52
autorelaesepool和runloop的聯繫要搞清楚   還有autoreleasepool 底層的實現 就是那個page結構的雙向鏈表  多線程
個人電腦  14:58:47
atomic和nonatomic   aotmic是絕對安全嗎 不是  爲何不是 何時不安全 只是保證你指針的 讀寫順序 是有序的    可是有可能第一個讀取的沒完事 第二讀取的改了 讀取內存須要 cpu輪訓片去掃內容
個人電腦  15:00:23
timer和runloop的關係
個人電腦  15:07:46
這個你要答 kvo的原理就是當你對對象首次觀察時 系統會在運行時動態的建立該類的派生類 在這個派生類裏重寫被觀察對象的setter方法  同時派生類會重寫class方法 以欺騙外部調用者 而後系統將這個對象的isa指針指向派生類
個人電腦  15:24:52
runtime的消息流程
個人電腦  15:29:53
cell列表優化  1正確使用複用id  2 少用透明層 由於透明層涉及到透明的顏色色值計算 3 少用漸變 圖片縮放 4 使用shadowpath繪製陰影 而不是coreanimagtion 5 複用行高不要每次都計算 能夠使用 rowheight  sectionheight這個屬性
北京-優優  15:26:32
賦值給tableview 而不是每次都去調代理  每一個線程都有一個runloop 沒有線程沒有runloop 只有主線程的runloop默認啓動  首先cpu上的優化,建立和刪除 能夠放在子線程,節約線程資源 而後 GPU上減小圖層混合,減小離屏渲染,重用cell,緩存高度,減小控件html

 

http://www.cocoachina.com/ios/20150610/12093.htmlios

https://www.jianshu.com/p/a93375df8547緩存

https://www.jianshu.com/p/422d58cc6eea安全

相關文章
相關標籤/搜索