閱讀如何微調我的代碼幾篇文章後,我發現,在路上,我們正在申報對象和變量可以drasticatly影響我們的應用程序的性能。這一點越來越重要,因爲時間限制現在已成爲Android平臺某些方面的組成部分(例如,某些操作必須在5秒內提供結果)。現在哪一種語法使用更好的性能和資源利用率
,我發現下面的代碼在我的片段類(完美的功能)中的一個:
Activity myA = getActivity();
if(myA instanceof MainActivity) {
((MainActivity) myA).doNext();
}
知道對象的創建/銷燬和ressources分配是一些有助於排出時的設備的因素電池,我想要重寫我的代碼:
if(getActivity() instanceof MainActivity) {
((MainActivity) getActivity()).doNext();
}
從功能角度來看,兩個代碼都提供相同的結果。但是,最適合的方法是什麼?我在問,因爲我看到兩者都有利弊,我無法找到評估性能的適當方式,我也不清楚哪些計數器(內存使用情況,功能速度,使用的CPU週期等) )應該進行評估。
感謝您的貢獻提前。
對象創建/銷燬在設備上每秒發生數千次;你確定值得在這個層面上優化它嗎? –
我同意我的例子是一個非常基本的例子,我很可能不會投入太多時間來優化這個特定的代碼。我的興趣更多的是從全球角度來看,因爲我們經常這樣做類型的分配和/或對象建設,那麼最終總體性能可能會受到影響。根據性能,我不僅考慮速度,還考慮對外部資源(電池等)的影響。 –
@DominicHarvey從全局角度來看,您絕對必須使用探查器,因爲它是實際上會告訴您的唯一工具關於全球視角的任何事情。 – millimoose