前言 啟動(dòng)優(yōu)化一役后,超預(yù)期將所負(fù)責(zé)的 App 雙端啟動(dòng)的耗時(shí)都降低了65%以上,iOS 在iPhone7上速度達(dá)到了400毫秒以內(nèi)。就像產(chǎn)品們用后說的,快到不習(xí)慣。由于 A...
背景 冷啟動(dòng)時(shí)長(zhǎng)是App性能的重要指標(biāo),作為用戶體驗(yàn)的第一道“門”,直接決定著用戶對(duì)App的第一印象。 招聘客戶端App都對(duì)啟動(dòng)時(shí)長(zhǎng)或多或少都進(jìn)行過一些優(yōu)化,但相對(duì)于主流Ap...
本文參考《Mac OS X and iOS Internals: To the Apple’s Core》 by Jonathan Levin文章內(nèi)容主要是閱讀這本書的讀書筆...
轉(zhuǎn)載[https://www.cnblogs.com/crstyl/p/14690895.html] 前言 項(xiàng)目閑置下來了,終于抽空有時(shí)間搞自動(dòng)化了,看了下網(wǎng)上的教程基本通篇...
fishhook是Facebook提供的一個(gè)動(dòng)態(tài)修改鏈接mach-O文件的工具。利用MachO文件加載原理,通過修改懶加載和非懶加載兩個(gè)表的指針達(dá)到C函數(shù)HOOK的目的。 前...
在 WWDC 2016 和 2017 都有提到啟動(dòng)這塊的原理和性能優(yōu)化思路,可見啟動(dòng)時(shí)間,對(duì)于開發(fā)者和用戶們來說是多么的重要,本文就談?wù)勅绾尉_的度量 App 的啟動(dòng)時(shí)間,啟...
iOS 底層 method_t 中的 types 上篇我們說到,method_t 其實(shí)就是一個(gè)結(jié)構(gòu)體,存儲(chǔ)著方法的 name ,types,imp,name沒什么可說的就是方...
為什么卡頓閾值設(shè)置成3秒呢
利用 RunLoop 監(jiān)控卡頓導(dǎo)致卡頓問題的幾種原因: 復(fù)雜 UI 、圖文混排的繪制量過大; 在主線程上做網(wǎng)絡(luò)同步請(qǐng)求; 在主線程做大量的 IO 操作; 運(yùn)算量過大,CPU 持續(xù)高占用; 死鎖和主子線程搶...
引言 該文章與runtime相關(guān),開始并沒打算寫,因?yàn)榇笊駛儗懥撕枚鄏untime的文章,分析的都很全面、很深刻,再寫也就是班門弄斧。但還是寫了,因?yàn)槲以诳匆粋€(gè)東西的時(shí)候偶爾...
入口函數(shù),其主要作用是注入給定的小控件并將其附加到屏幕上。 1.初始化一個(gè)widgetsBinding的全局單例2.創(chuàng)建跟widget并添加到renderView上,在這個(gè)過...
ZPRouter 接入路由組件ZPRouter只需2個(gè)配置,就可以使用路由組件 路由協(xié)議 在接入路由之前,需要先了解一下路由的協(xié)議規(guī)則,ZPRouter與絕大部分路由協(xié)議一樣...
無埋點(diǎn),有什么第三方產(chǎn)品可以使用嗎
代碼埋點(diǎn)、可視化埋點(diǎn)、無埋點(diǎn)三者之間的區(qū)別所謂埋點(diǎn)就是在應(yīng)用中特定的流程收集一些信息,用來跟蹤應(yīng)用使用的狀況,后續(xù)用來進(jìn)一步優(yōu)化產(chǎn)品或是提供運(yùn)營的數(shù)據(jù)支撐,包括訪問數(shù)(Visits),訪客數(shù)(Visitor),停留時(shí)...
前言 最近在網(wǎng)上找了不少面試相關(guān)的資料學(xué)習(xí)準(zhǔn)備面試!如果您覺得里面的問題不錯(cuò),在面試準(zhǔn)備的時(shí)候?qū)W習(xí)看看. 這次終于拿下了這個(gè)心儀很久的崗位 有記錄面試題, 希望對(duì)你們有幫助~...
[TOC] runtime相關(guān)問題 面試題出自掘金的一篇文章《阿里、字節(jié):一套高效的iOS面試題》該面試題解答github 地址版本目前已經(jīng)完結(jié),可自行下載pdf進(jìn)行閱讀,僅...
有demo嗎
WPF模仿TIM聊天記錄彈出前言 先來看看TIM的聊天記錄是怎么樣子的 這里面有幾個(gè)功能: 點(diǎn)擊消息記錄按鈕,會(huì)向右擴(kuò)展一段距離,顯示聊天記錄。 縮放的時(shí)候,聊天記錄部分保持不變,左邊的區(qū)域縮放。 再次...