我有一個滑塊用於更改UITextView中文本的字體大小。分析儀和泄漏報告沒有內存泄漏。但是,每次通過移動滑塊更改字體大小時,內存都會增加。最終,應用程序出現內存不足警告。該代碼是:更改UITextView的字體大小泄漏內存
mainText.font = [UIFont systemFontOfSize:mainSlider.value];
如果我更換代碼mainText.font = [UIFont systemFontOfSize:40.0];
,內存保持不變,無論多少次,我將滑塊移動。我搜索了這個和許多其他網站,尋找有關可能的UIFont錯誤的信息。沒有成功。我看到有人使用我使用的相同代碼,並沒有提及增加內存。請幫忙。
非常感謝。高速緩存肯定會解釋它。你是正確的,我沒有遇到應用程序崩潰,只是一個警告。這裏是另一個的證據支持你的理論: – user273565 2011-04-20 01:06:45
這裏是我的代碼現在:\t \t'如果(mainSlider.value <[UIFont systemFontSize]){ \t \t \t mainText.font = [UIFont systemFontOfSize:[UIFont systemFontSize] ; \t \t} else if(mainSlider.value <25)\t \t \t mainText.font = [UIFont systemFontOfSize:25]; \t \t} else if(mainSlider.value <50)\t \t \t mainText.font = [UIFont systemFontOfSize:50]; \t \t} else if(mainSlider.value <75)\t \t \t mainText.font = [UIFont systemFontOfSize:75]; \t \t} else if(mainSlider.value <100)\t \t \t mainText.font = [UIFont systemFontOfSize:100]; \t \t}' – user273565 2011-04-20 01:18:49
此代碼的工作原理是因爲我在滑塊移動時只分配了一組有限的字體對象。以前,由於滑塊值以浮點增量(即0.01)移動,所以許多字體對象將被緩存。我認爲這是內存使用率過高的原因。這不是泄漏,但它正在使用資源相同。 – user273565 2011-04-20 01:21:48