原創文章,轉載請註明
XCode 開發後期,要對代碼進行改進和優化,查內存泄漏是其中一項重要工作,今天下午偷了點時間,把前段時間的代碼稍微整理了一下,順帶用了下這個工具,還真發現了些問題。這裏記錄一下,以備忘!
爲了能直接地看到有問題的代碼的出處,故意寫了如下代碼:
Player* l_player = new Player();
CCLog("%d", l_player->getCurrentSceneIndex());
char* l_a = (char*)malloc(100);
memset(l_a, 0, 100);
CCLog("%s", l_a);
開始查錯
這個過程需要點時間,然後彈出
選擇IOS->Memory->Leaks 如上圖
在Leaks下選擇Call Tree, 在內存提示泄漏處展開調用的堆棧
在自己的邏輯代碼中寫進去查看
這裏就是新發現的內存泄漏的地方,
加上
//Delete l_pData >=-Rct-=<
CC_SAFE_DELETE_ARRAY(l_pData);
這個問題解決。另入一處泄漏便是上面所加的測試代碼
把這一處測試代碼也刪除,重新XCode->Profile, 所有問題解決
以上!