FBMemoryProfileriOS內(nèi)存監(jiān)測(cè)工具
FBMemoryProfiler是Facebook開(kāi)源的一款用于分析iOS內(nèi)存使用和檢測(cè)循環(huán)引用的工具庫(kù)。
手機(jī)設(shè)備的內(nèi)存是一個(gè)共享資源。應(yīng)用程序可能會(huì)不當(dāng)?shù)暮谋M內(nèi)存、崩潰,或者遭遇大幅度的性能降低。當(dāng)分配了一塊內(nèi)存,并設(shè)置了對(duì)象之后,如果在使用完了之后忘記釋放,這就會(huì)發(fā)生內(nèi)存泄露。這意味著系統(tǒng)是無(wú)法回收內(nèi)存并交予他人使用,這也最終意味著我們的內(nèi)存將會(huì)逐漸耗盡。
在Facebook,有很多工程師在代碼庫(kù)的不同部分上工作。這不可避免的會(huì)發(fā)生內(nèi)存泄露。當(dāng)發(fā)生內(nèi)存泄露之后,工程師需要盡快找到并修復(fù)它們。一些工具已經(jīng)可以找到內(nèi)存泄露,但是它們需要大量的人工干預(yù)。自動(dòng)化可以在不需要更多開(kāi)發(fā)者的情況下,更快的找到內(nèi)存泄露。為了解決這個(gè)問(wèn)題,F(xiàn)acebook做了一套工具來(lái)自動(dòng)化的處理和修復(fù)代碼庫(kù)中的一些問(wèn)題,這個(gè)工具就是FBMemoryProfiler。
這個(gè)庫(kù)顯示FBAllocationTracker和FBRetainCycleDetector怎么能一起合作,以及如何在真正的應(yīng)用程序中使用。
它采用FBAllocationTracker收集有關(guān)對(duì)象的信息。它支持 generations 和保留周期檢測(cè) 。
這里是一個(gè)小的演示(項(xiàng)目提供實(shí)例目錄)
