240 發(fā)簡(jiǎn)信
IP屬地:云南
  • 120
    簡(jiǎn)談二進(jìn)制重排

    二進(jìn)制重排 二進(jìn)制重排其實(shí)并不是什么特別新穎的技術(shù)尉姨。 目的 二進(jìn)制重排(layout)的目的在于將hot code聚合在一起芋类,即使得最經(jīng)常執(zhí)行的代碼或最需要關(guān)鍵執(zhí)行的代碼(如...

  • 120
    arm64e符號(hào)翻譯與PAC問(wèn)題

    arm64e由于引入了PAC機(jī)制睡榆,導(dǎo)致符號(hào)地址發(fā)生了巨大變化汹粤。也給堆棧回溯帶來(lái)了問(wèn)題昏鹃。 背景 從去年新iphone發(fā)布后貌笨,我們陸陸續(xù)續(xù)發(fā)現(xiàn)crash上報(bào)組件上報(bào)的crash總...

  • 120
    探索子線(xiàn)程autorelease對(duì)象的釋放時(shí)機(jī)

    前言 本文csdn地址:http://blog.csdn.net/game3108/article/details/51147949今天在給同事講autorelease對(duì)象釋...

  • 我所理解的ucontext族函數(shù)

    今天,我要寫(xiě)一篇文章稚新,好好來(lái)說(shuō)一下我所理解的ucontext族函數(shù)勘伺。 NAMEgetcontext, setcontext - get or set the user con...

  • 120
    Crash優(yōu)化與建議

    本文對(duì)iOS應(yīng)用上經(jīng)常遇到的Crash(常規(guī)signal觸發(fā)的閃退)進(jìn)行分析,并結(jié)合筆者的優(yōu)化經(jīng)驗(yàn)褂删,給出Crash分析和建議飞醉。 一、Crash與信號(hào) 1.1 Crash是如何...

  • Crash與信號(hào)

    什么是信號(hào) 信號(hào)(signal)是一種XPC通信方式轴术。signal是一個(gè)4字節(jié)的無(wú)符號(hào)整形數(shù)字,在iOS/OSX中定義了31個(gè)已知的信號(hào)钦无;在Unix系統(tǒng)中逗栽,crash僅僅是s...

  • Objective-C -- isEqual與hash

    為什么要有isEqual方法 對(duì)于對(duì)象類(lèi)型, ==運(yùn)算符比較的是對(duì)象的地址,即是否為同一對(duì)象失暂。 對(duì)象地址相等不代表對(duì)象相等彼宠,即對(duì)象地址相等是對(duì)象相等的必要非充分條件。 isE...

  • 120
    UIViewController 生命周期

    生命周期的圖如下: ios 視圖的生命周期(View Life Cycle) 事件發(fā)生的須序非常重要弟塞,這好讓程序員能在適當(dāng)?shù)臅r(shí)機(jī)執(zhí)行事件凭峡,此時(shí)了解view life Cycl...

  • @jmstack 還有一點(diǎn),如果編譯器優(yōu)化時(shí)决记,將局部變量復(fù)用了摧冀,比如由于復(fù)用那么會(huì)存在對(duì)一個(gè)已經(jīng)再被的線(xiàn)程release的指針,再調(diào)用release系宫,那么多線(xiàn)程時(shí)并發(fā)時(shí)索昂,也可能是會(huì)有問(wèn)題。所一定要嚴(yán)格分析扩借,那就從反匯編去推椒惨。僅僅是寫(xiě)的代碼不一定就是最可靠的,還要看編譯器轉(zhuǎn)為匯編時(shí)干了什么往枷;這里目前都是黑盒框产。

    不安全的weak變量

    對(duì)于存在多線(xiàn)程釋放并且并發(fā)訪(fǎng)問(wèn)的對(duì)象,不建議使用weak修飾或訪(fǎng)問(wèn)错洁。因?yàn)閣eak的底層實(shí)現(xiàn)并不完全是線(xiàn)程安全秉宿,否則較容易導(dǎo)致over-release而crash。 一屯碴、問(wèn)題 ...

  • @jmstack 嗯描睦,我最后的結(jié)論不是基于源碼得出的。是反過(guò)來(lái)推的导而。從蘋(píng)果給的源碼看忱叭,沒(méi)有地方能明顯發(fā)現(xiàn)有什么問(wèn)題。但是從運(yùn)行時(shí)結(jié)論反推今艺,有較大概率認(rèn)為多線(xiàn)程銷(xiāo)毀和使用時(shí)有問(wèn)題韵丑。所以這里并沒(méi)有非常嚴(yán)謹(jǐn)?shù)娜プC明是還不是。也有一部分猜測(cè)虚缎。

    不安全的weak變量

    對(duì)于存在多線(xiàn)程釋放并且并發(fā)訪(fǎng)問(wèn)的對(duì)象撵彻,不建議使用weak修飾或訪(fǎng)問(wèn)。因?yàn)閣eak的底層實(shí)現(xiàn)并不完全是線(xiàn)程安全,否則較容易導(dǎo)致over-release而crash陌僵。 一轴合、問(wèn)題 ...

  • 業(yè)務(wù)的bug,的確不合理啊碗短。

    __block不適合多線(xiàn)程并發(fā)

    objc的很多設(shè)計(jì)受葛,從底層實(shí)現(xiàn)上都不完全是線(xiàn)程安全的,這也導(dǎo)致在一些極端的并發(fā)情況下偎谁,會(huì)引起競(jìng)爭(zhēng)導(dǎo)致的內(nèi)存訪(fǎng)問(wèn)錯(cuò)誤問(wèn)題总滩。之前分析過(guò)_weak的設(shè)計(jì)不是多線(xiàn)程安全的,最近又踩坑...

  • __block不適合多線(xiàn)程并發(fā)

    objc的很多設(shè)計(jì)搭盾,從底層實(shí)現(xiàn)上都不完全是線(xiàn)程安全的咳秉,這也導(dǎo)致在一些極端的并發(fā)情況下婉支,會(huì)引起競(jìng)爭(zhēng)導(dǎo)致的內(nèi)存訪(fǎng)問(wèn)錯(cuò)誤問(wèn)題鸯隅。之前分析過(guò)_weak的設(shè)計(jì)不是多線(xiàn)程安全的,最近又踩坑...

  • 120
    iOS內(nèi)存深入探索之VM Tracker

    什么是VM Tracker VM Tracker是Xcode Instruments自帶的一個(gè)內(nèi)存分析工具向挖,可以幫助你快速查看虛擬內(nèi)存塊的用量狀態(tài)以及根據(jù)虛擬內(nèi)存塊的tag進(jìn)...

  • 120
    iOS內(nèi)存深入探索之內(nèi)存用量

    前言 我們?cè)诓榭磇OS應(yīng)用內(nèi)存時(shí)蝌以,最常見(jiàn)的手法就是查看左邊的Debug Navigator。不知你是否也曾困惑于這個(gè)內(nèi)存究竟包括哪些部分何之,或者使用Allocations模版觀(guān)...

  • 120
    Thunk程序的實(shí)現(xiàn)原理以及在iOS中的應(yīng)用

    導(dǎo)讀:閱讀文本你將能夠了解到C標(biāo)準(zhǔn)庫(kù)對(duì)快速排序的支持、簡(jiǎn)單的索引技術(shù)蒜危、Thunk技術(shù)的原理以及應(yīng)用虱痕、C++虛函數(shù)調(diào)用以及接口多重繼承實(shí)現(xiàn)、動(dòng)態(tài)庫(kù)中函數(shù)調(diào)用的實(shí)現(xiàn)原理辐赞、以及在i...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品