這幾天面試的時候,面試官都會問我在遊戲開發過程中是如何應對記憶體檢測的,如何監控程式是否有記憶體洩漏的問題。在開發的過程中也沒有認真的注意過這個問題(當然不是說不去關注程式的記憶體洩漏問題,而是說並沒有特意到去思考如何去監控),因為上家公司使用的是xcode開發工具,其自帶了效能監控的工具,平時也就是用的這個,可能沒太在意這些吧。
因為面試官問這個比較多,然後我感覺自己確實需要多注意注意程式開發過程中的一些基礎性問題,所以把自己所知道的整理整理。
mac上:
使用xcode進行開發,當執行模擬器或者進行真機除錯的時候,xcode的左上角位置是會顯示諸如cpu使用率,記憶體使用率等資訊的。使用模擬器顯示的是電腦的資訊,而使用真機除錯則顯示的是真機的資訊。
windows上:
使用vs進行開發,有乙個對記憶體洩漏問題進行檢測到軟體,叫做:visual leak detector。這個軟體還是好久之前在網上看部落格的時候看到的,好像是在除錯完程式之後才會顯示檢測資訊,因為是好久之前用過,可能具體的有點記不太清楚了;
另外乙個方式是,在電腦上進行除錯,然後啟動windows的任務管理器,在程序裡對執行的程式記憶體、cpu使用狀況進行實時監控,在檢視到記憶體使用異常的情況下便可以有針對性的進行排查了。
以上便是我目前所知道的了。
cocos2d x記憶體優化
程式包的 體積 優化方法 首先 你需要很清楚當前自己專案什麼地方佔的體積最多,例如動畫序列多少mb 地圖佔多少mb等等,都要提前做乙個check 別總是認為 可能佔的多,要詳細的知道才行!1.採用工具對資源進行 打包 例如texturepacker 等工具。2.採用png壓縮工具等,在打包前對每張進...
cocos2dx 記憶體管理
記憶體管理中經常遇到的問題 記憶體洩露,記憶體溢位。在cocos2dx中用的是引用計數和自動釋放池的技術,由於熟悉objective c語言,所以對這兩個概念不會很陌生。一 引用計數 引用計數是自動記憶體管理的基礎 在物件裡增加乙個引用計數,當外部引用增加時,計數器加1,當外部引用消失時,計數器減1...
cocos2d x 記憶體管理
呼叫了autorelease的物件,將會在自動 池釋放的時候被釋放一次。因為這個操作發生在 mainloop drawscene 後,這時候遊戲中所有的邏輯已經執行完畢,正是釋放無效資源的最佳時機。所以乙個物件被create後,將被放進pool中,其ref 數為1,當遊戲整個邏輯跑完,如果沒有增加r...