一、符號表 1稠诲、概念:debugger Symbols 的簡稱粗悯。符號表就是指在Xcode項目編譯后杖们,在編譯生成的.app的同級目錄下生成的同名的.dSYM文件炮温。符號表是內(nèi)存地...
一、符號表 1稠诲、概念:debugger Symbols 的簡稱粗悯。符號表就是指在Xcode項目編譯后杖们,在編譯生成的.app的同級目錄下生成的同名的.dSYM文件炮温。符號表是內(nèi)存地...
Widget横侦、Element和RenderObject Widget Widget 是用戶頁面的描述彻犁,表示了Element的配置信息局待,F(xiàn)lutter頁面都是由各種各樣的Wid...
起因 前段時間在群里看到群友發(fā)了一個油管的鏈接[https://www.youtube.com/watch?app=KWnnhv&v=UtOrHj83hSQ%3DcdKfd9...
設(shè)置圓角 1.ElevatedButton 設(shè)置樣式需要通過buttonStyle設(shè)置buttonStyle可以設(shè)置的屬性有: 這些屬性在設(shè)置的屬性在設(shè)置的時候需要用到Mat...
Toast在Android上是最常用的提示組件了斑响,它的優(yōu)勢在于靜態(tài)調(diào)用、全局顯示钳榨,可以在任意你想要的地方調(diào)用他而絲毫不影響界面的布局舰罚,調(diào)用簡單程度與Logger的調(diào)用不相上下...
Flutter 1.17 對比上一個穩(wěn)定版本,更多是帶來了性能上的提升薛耻,其中一個關(guān)鍵的優(yōu)化點就是 Navigator 的內(nèi)部邏輯营罢,本篇將帶你解密 Navigator 從 1....
背景 花了點時間分析了下libffi的調(diào)用流程,做個總結(jié)。 什么是libffi libffi是ffi的主流實現(xiàn)方式饲漾,其主要是用C和匯編來實現(xiàn)的蝙搔。 原理和用法市面上已經(jīng)很多,下...
什么是VM Tracker VM Tracker是Xcode Instruments自帶的一個內(nèi)存分析工具考传,可以幫助你快速查看虛擬內(nèi)存塊的用量狀態(tài)以及根據(jù)虛擬內(nèi)存塊的tag進(jìn)...
Git Flow 的概念 在使用Git的過程中如果沒有清晰流程和規(guī)劃吃型,否則,每個人都提交一堆雜亂無章的commit,項目很快就會變得難以協(xié)調(diào)和維護(hù)。Git版本管理同樣需要一個...
本文導(dǎo)讀:虛擬內(nèi)存以及虛擬內(nèi)存的remap機制僚楞,以及通過remap機制來實現(xiàn)通過靜態(tài)指令來構(gòu)造thunk代碼塊勤晚。 ??Thunk程序的實現(xiàn)原理以及在iOS中的應(yīng)用 入口處。 ...
相信大家在學(xué)習(xí)C語言的時候泉褐,malloc是最早遇到的幾個方法之一运翼,這里就來深入的了解下,macOS/iOS中用戶空間的內(nèi)存分配兴枯。 引言 首先,我們來看幾個有意思的例子矩欠,以下幾...
前言 眾所周知财剖,使用runtime的提供的接口,我們可以設(shè)定原方法的 IMP 癌淮,或交換原方法和目標(biāo)方法的 IMP 躺坟,以完全代替原方法的實現(xiàn),或為原實現(xiàn)前后相當(dāng)于加一段額外的代...
GCC編譯器提供了 -fomit-frame-pointer 和 -fno-omt-frame-pointer 兩個相對的編譯選項乳蓄。 GCC手冊[1][#fn1]里對 -fo...
模型樹和呈現(xiàn)樹 CoreAnimation作為一個復(fù)合引擎咪橙,將不同的視圖層組合在屏幕中,并且存儲在圖層樹中虚倒,向我們展示了所有屏幕上的一切美侦。整個過程其實經(jīng)歷了三個樹狀結(jié)構(gòu),才顯...
? Source1 :基于mach_Port的,來自系統(tǒng)內(nèi)核或者其他進(jìn)程或線程的事件魂奥,可以主動喚醒休眠中的RunLoop(iOS里進(jìn)程間通信開發(fā)過程中我們一般不主動使用)菠剩。m...
前言 上片文章分析了GCD隊列和函數(shù)的使用方式、串行隊列和并發(fā)隊列的創(chuàng)建哈蝇、同步函數(shù)和異步函數(shù)底層執(zhí)行流程棺妓、串行隊列的死鎖、GCD單例的實現(xiàn)流程等炮赦。這篇文章我們繼續(xù)探究disp...
一吠勘、柵欄函數(shù) CPU的亂序執(zhí)行能力讓我們對多線程的安全保障的努力變得異常困難妆艘。因此要保證線程安全彤灶,阻止CPU換序是必需的。遺憾的是批旺,現(xiàn)在并不存在可移植的阻止換序的方法幌陕。通常情...
當(dāng)向ArrayList中添加和刪除元素時都需要進(jìn)行元素的移動,當(dāng)添加和刪除的是動態(tài)數(shù)組的頭部元素汽煮,需要將數(shù)組中所有元素進(jìn)行移動搏熄,其最壞情況的復(fù)雜度為O(n)。那么能不能在添加...
1. 指針類型 id是指向Objective-C對象的指針暇赤。 void *是任何東西的指針(無類型指針)心例。是“對帶有未類型化/未知內(nèi)容的隨機塊內(nèi)存的引用”您可以使用void...
iOS中會經(jīng)常使用到靜態(tài)庫和動態(tài)庫,尤其稍大點的項目鞋囊,有一些人對到底是推薦使用靜態(tài)庫還是動態(tài)庫存在一些疑點止后。這里鼓勵跟蘋果爸爸走,盡可能的使用靜態(tài)庫溜腐, 下面會重點介紹靜態(tài)庫對...