溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用工具檢測你的app:模擬器和真機(jī)測試 之一

發(fā)布時間:2020-06-24 15:21:24 來源:網(wǎng)絡(luò) 閱讀:3456 作者:iKingLai 欄目:移動開發(fā)

在本章,你將學(xué)到下面這些內(nèi)容:

  • 模擬器和真機(jī)測試環(huán)境的不同。

  • 內(nèi)存管理是如何影響一個app的性能。

  • 檢測app的工具和技術(shù)包括:

       1)基本的測試內(nèi)存和性能的工具。

       2)測試內(nèi)存管理方面比較復(fù)雜的工具,比如內(nèi)存泄露和bad access。

       3)測試計算過程中性能方面比較復(fù)雜的工具,比如電池,文件加載,顯示信息等。

  • 如何把你的程序分割成更小的部分,這樣能夠更簡單的定位性能的瓶頸。


為了提升性能,你需要非常小心的運行測試來查看問題出現(xiàn)在哪里。為了執(zhí)行一個有用的測試,你需要知道程序或代碼段可能運行慢的原因。


在一開始,你應(yīng)該注意兩種基本的選擇:模擬器和真機(jī)環(huán)境,內(nèi)存優(yōu)化和性能優(yōu)化之間的平衡。


首先,你需要知道模擬器和真機(jī)環(huán)境的不同。


模擬器和真機(jī)


iPhone應(yīng)用性能的主要問題是他們運行在一個受限的,處理慢的環(huán)境中。iPhone模擬器開發(fā)環(huán)境比真機(jī)環(huán)境要更快;事實上,模擬器的環(huán)境跟在mac機(jī)器上運行它一樣快。


因此,你可能會非常的驚訝,當(dāng)你的程序在模擬器上運行比較快,而在真機(jī)上比較慢。我觀察到很多人抱怨在手機(jī)網(wǎng)絡(luò)上應(yīng)用比較慢。在某些情況下確實如此。但是,在很多情況下app的性能可能會下降很多,由于代碼實現(xiàn)本身,而不是網(wǎng)絡(luò)的問題。因此,用基本的工具何標(biāo)準(zhǔn)環(huán)境仔細(xì)的測試你的app,會使得你的app在性能和用戶體驗上更加自信。


為了演示模擬器和真機(jī)的不同,我在模擬器和真機(jī)上測試了一個程序,結(jié)果讓人吃驚。

  • 在模擬器上花了0.5秒完成了主要的計算。

  • 在真機(jī)上同樣的計算花了7秒。


程序很簡單:我用兩個數(shù)組中進(jìn)行一個簡單的測試,每個數(shù)組有1000個元素。然后,代碼循環(huán)這兩個數(shù)組,發(fā)現(xiàn)兩個數(shù)相同就打印“hello”。在真實環(huán)境中,你可能不需要在一個數(shù)組中處理1000個元素或你可能不會選擇循環(huán)一個數(shù)組來找到相同的數(shù)。但是,這不是重點。我主要是為了演示真機(jī)比模擬器運行慢的多。


這引出了我在本書中將會多次提到的一個非常重要的點:你總是需要在模擬器和真機(jī)上同時測試。那為什么不只是在真機(jī)上測試呢?因為模擬器有以下優(yōu)點:

  • 在模擬器上運行比較快,這意味著可以減少開發(fā)者被耽誤的時間。

  • 比較好測試內(nèi)存泄露和內(nèi)存分配問題。


內(nèi)存和性能


內(nèi)存和性能是不同的。內(nèi)存通常是指隨機(jī)存儲器,它代表了你使用了多少存儲空間,以及你還剩多少存儲空間。性能是指你運行一個指定的功能你的app有多快。


內(nèi)存可能會對性能產(chǎn)生巨大的影響。當(dāng)你的設(shè)備有更多的RAM和更多的存儲空間,你可以預(yù)加載和緩存更多的數(shù)據(jù)。相比文件存儲和網(wǎng)絡(luò),RAM訪問是非??斓摹Mㄟ^在RAM上預(yù)加載和緩存更多的數(shù)據(jù),在很多情況下你可以顯著的提升你的程序性能。例如,如果你的app是一個游戲,需要加載很多圖片,你可以在必要的時候預(yù)加載和顯示他們。從RAM中加載比從文件中加載要快10倍。


但是,內(nèi)存使用好并不意味著性能就好。有一些app不需要使用很多內(nèi)存;因此,如果你只是優(yōu)化內(nèi)存,性能可能并不會提升。反之就不好了:一個app為了達(dá)到一個比較好的性能而使用了所有的內(nèi)存,很快app就會把內(nèi)存耗盡。


因此,你應(yīng)該總是要對內(nèi)存和運行時性能進(jìn)行仔細(xì)的測試,確保在內(nèi)存使用和運行時性能有一個好的權(quán)衡。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI