我想知道如何檢測外部應用程序何時運行此方法之一。我正在和一些同學一起參與一個項目,我們要檢查其他應用程序的響應時間。這個想法是衡量每種方法的運行時間,以便在打開應用程序時獲得響應時間的近似值。當外部Android應用程序運行onCreate,onStart,onResume方法時檢測
這可能實現嗎?
我想知道如何檢測外部應用程序何時運行此方法之一。我正在和一些同學一起參與一個項目,我們要檢查其他應用程序的響應時間。這個想法是衡量每種方法的運行時間,以便在打開應用程序時獲得響應時間的近似值。當外部Android應用程序運行onCreate,onStart,onResume方法時檢測
這可能實現嗎?
這是不準確的,但我會監視logcat活動。根據設備/ VM/AVD,當應用程序正在等待用戶輸入時,logcat在轉換過程中(例如,返回接地和前臺操作)處於超級活動狀態,並處於空閒狀態。
編輯: 除此之外,如果你可以做你的分析關閉設備,也許看看使用DDMS?
Android應用程序被沙盒化,只展示他們打算公開的內容。您指定的方法是無法直接從「外部」世界訪問的組件的一部分。換句話說,如果一個應用程序希望您知道這些方法何時被調用,他們會公開這些信息(即發送Broadcast
或者將信息存儲在ContentProvider
中)。你可以試着看看你能否從logcat中獲得一些信息,但我不能保證它的準確性和一致性。
是的,那就是我的想法。你知道是否有某種安卓日誌,操作系統可以存儲這些方法的運行嗎? –
不是我所知道的。 – Emmanuel
或者如果任何人有任何其他想法如何衡量外部應用程序的響應時間,請讓我知道:) –
但我想測量服務的響應時間,所以我認爲logcat在這種情況下不會幫助我。糾正我,如果我錯了。 –
設備上總是會讀取logcat [programatically](http://stackoverflow.com/questions/12692103/read-logcat-programmatically-within-application)。在過去,我使用adb和python腳本來分析logcat來分析應用程序。 – Chadroid
太好了,謝謝!我會嘗試。 –