通常情況下,我們在app軟件開發完成之后是需要對軟件的整體運營以及性能等方面進行一次系統的測試的。下面,我們就一起來了解一下,app軟件常見的性能測試都包含了哪些方面。
1、內存
為什么要選內存呢?需要知道Android的OOM和LowMemoryKiller。
OOM:OutOfMemory,顧名思義是說內存不夠用或者耗盡了,進程會被強制終止。安卓框架限制了每個應用進程所占用的大內存值。關注內存的一個目的就是避免內存使用過大,出現OOM。主要關注內存使用較多時的場景,例如游戲app正在游戲中。
LowMemoryKiller:LowMemoryKiller在用戶空間中指定了一組內存臨界值,當其中的某個值與進程描述中的oom_adj值在同一范圍時,APP測試該進程將被Kill掉。如果你的APP某個進程需要一直保存存活,你需要保持你的進程優先級足夠高,並且占用比較小,因為LowMemoryKiller在工作時,同一優先級的進程會先kill那個占用大的。性能測試時主要關注待機時的內存是不是夠小。
這里再補充一點:LowMemoryKiller的工作可能致系統變卡。為什么呢?因為它kill了一些進程,然而現在市面的很多APP為了保活都會自啟,剛剛被kill,立刻又起來。啟動占用大量內存(還有CPU),又觸發LowMemoryKiller。頻繁的被kill和啟動形成了惡性循環,so…系統變的很卡。
2、CPU
為什么要關注CPU?
(1)CPU使用率
想必你肯定有這樣的經歷:玩某個游戲或者APP的時候,手機發熱發燙。是的,CPU的頻繁使用,會讓你的手機發燙,讓你的手機變卡(CPU資源不足)。如果讓用戶發現你的APP用起來發燙,那就等着他的吐槽和卸載吧。
也就是說CPU性能,我們需要關注APP使用中CPU消耗情況,通常會使用CPU使用率這個指標。
(2)CPUjiffies
如果APP在退出界面后還有進程長期運行,那你需要關注下待機場景的CPU。待機場景下CPU的消耗一般不會很大,例如手機管家,可能消耗經常是0%,1%,長時間平均下,可能只有0.1%、0.2%,看看競品,也是差不多,好像沒有太大區別。
3、電量
手機電池資源有限,電量的重要性就不必說了。現在很多手機都有電量排行,如果你的APP總是排在前面,小心被卸載哦。電量通常的單位是:mAs或者mAh。
4、流量
手機的一個特點就是有移動網絡。移動網絡下的流量消耗需要特別關注,wifi下的流量優先級略低。流量單位:kb,M。
5、速度/耗時
可用性原則里面有個2秒原則:一個松散的原則,即用戶沒有必要對某些系統響應等待2秒以上的時間,比如應用程序轉換和開始的響應時間。對於啟動APP,進入某頁面,這些操作時間都應不超過2秒,且越短用戶體驗越好。
當然,2秒並不是絕對的,對於一些用戶感知明顯的功能,例如垃圾掃描,病毒查殺,可能需要更多的時間,但是操作進行期間,需要給用戶適當的感知和預期,避免用戶因等待過久而離開。當然,用戶是期望能夠又准又快。