我創建的應用程序僅支持ARC和iOS 7。我的所有屬性都被正確標記爲弱,並且所有強變量在我需要的地方標記爲零。即使使用ARC,內存也不斷增加儀器使用
當我用儀器運行我的應用程序時,我發現內存分配不斷增加。當我去任何屏幕的內存增加(大約2 MB)。當我彈出這個視圖時,內存只下降到幾KB。我不知道發生了什麼。
而坡平我使用以下的圖:
UPDATE:
[UIView animateWithDuration:0.5 animations:^{
CGRect newFrame = aSideMenu.view.frame;
newFrame.origin = SIDE_MENU_VIEW_ORIGIN_FINAL;
[aSideMenu.view setFrame:newFrame];
} completion:^(BOOL finished) {
[sender setUserInteractionEnabled:YES];
}];
在這裏,我使用aSideMenu
在框。 aSideMenu
是強變量。你認爲我需要創建它的弱引用和使用嗎?
__weak id aWeak = aSideMenu;
並使用這個aWeak而不是aSideMenu?
而且在幾個塊,我使用:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:....nil];
我應該通過'快譯通」太多的弱引用?
我不確定這是否是原因。請幫我跟蹤這個問題。此外,讓我知道是否有其他需要添加在這個問題更好的解決方案。
謝謝
你可以顯示哪個在這個塊內?你有可能引用哪一個不應該,並且它保留了一些對象......如果你正在訪問自己,那麼在進入塊之前,讓自己創建指向自己的弱指針。 –
是的,你應該對side block中的強指針做弱引用。但是,如果對象被釋放,弱指針可能爲零,因此在使用它之前,請強烈引用塊內的弱指針並檢查零。對於字典,如果它的實例變量或屬性是yes,如果它的方法是局部的,則使用塊運算符,如果它在方塊中則按照原樣使用它。 –