能減小for等循環(huán)等遍歷操作,盡量減少
-
盡量減少新對(duì)象的創(chuàng)建
- 不斷創(chuàng)建新對(duì)象,對(duì)象越多越占內(nèi)存,而且不斷創(chuàng)建對(duì)象開辟內(nèi)存是非常銷毀性能的。
- 例如:利用緩存機(jī)制:100對(duì)象要進(jìn)行相同的操作,我們可以不去創(chuàng)建100個(gè),不是用一個(gè)創(chuàng)建一個(gè),可以只創(chuàng)建10個(gè),然后需要用的時(shí)候,直接在10個(gè)對(duì)象去取一個(gè)即可,不要去創(chuàng)建新的對(duì)象了
盡量?jī)?yōu)化,字符串操作,選取最優(yōu)方案
-
1、建議:減少字符串拼接,因?yàn)閚次拼接會(huì)產(chǎn)生n次新的字符串,非常銷毀性能。
- 舉例:以前做后臺(tái)的時(shí)候,會(huì)當(dāng)我們寫sql語句來按照指定條件查詢商品的時(shí)候,采用“+”拼接的方式就會(huì),因?yàn)椴粩唷?”會(huì)不斷創(chuàng)建新的字符串,從而導(dǎo)致查詢速度非常的慢,盡管我采用的時(shí)異步Ajax請(qǐng)求數(shù)據(jù)仍然很慢,但是經(jīng)過優(yōu)化后,去掉拼“+”拼接,查詢速度明顯提升很多。
2、盡量少用截取字符串方法-> substringFromIndex:,它也非常銷毀性能,盡量使用指定某個(gè)范圍的方法 -> substringWithRange:來截取字符串操作。
3、字符串替換也要注意,要盡量像上面一樣,使用字符串方法:stringByReplacingCharactersInRange:方法來實(shí)現(xiàn)