Adicione logs de desempenho ao seu aplicativo Android para monitorar o tempo de inicialização, lentidão e eventos ANR com o Mobile Analysis.
O Mobile Analysis no Android rastreia três categorias de dados de desempenho:
Log de tempo de inicialização
Log de lentidão
Log de bloqueio
Após a instrumentação, visualize a duração da inicialização em Mobile Analysis Service > Basic analysis no console mPaaS. Acesse os relatórios de lentidão e bloqueio em Mobile Analysis Service > Performance analysis.
Instrumentação de velocidade de inicialização
A duração da inicialização corresponde ao tempo decorrido entre o início do processo do aplicativo e a chamada do método onCreate() da página inicial. Chame o método a seguir dentro de Activity onCreate() para reportar essa duração ao Mobile Analysis.
MPLogger.reportLaunchTime(Context context);
Instrumentação de lentidão
Um evento de lentidão é registrado quando a thread principal do Android leva mais tempo que o limiar definido para executar um método. Esse limiar varia conforme o tipo de build:
Debug APK: 0,75 segundos — limiar menor para identificar problemas potenciais cedo durante o desenvolvimento.
Release APK: 2,25 segundos.
Ative o monitoramento de lentidão
Método 1
Herde da classe BaseActivity, BaseFragmentActivity ou BaseAppCompatActivity fornecida pelo mPaaS. O monitoramento de lentidão é ativado automaticamente, sem necessidade de código adicional.
Método 2
Este método tem suporte apenas na baseline 10.2.3.50 e versões posteriores.
Chame manualmente as APIs relevantes nos métodos de ciclo de vida da Activity. Exemplo:
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import com.mpaas.mas.adapter.api.MPLogger;
public class MPLifecycle implements Application.ActivityLifecycleCallbacks {
private int mVisibleActivityCount = 0;
private boolean isBackground = false;
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
}
@Override
public void onActivityStarted(Activity activity) {
mVisibleActivityCount++;
if (isBackground) {
isBackground = false;
// Called when the application returns to the foreground.
MPLogger.monitorAppForeground();
}
}
@Override
public void onActivityResumed(Activity activity) {
// Update the Activity context.
MPLogger.monitorActivityResumed(activity);
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
mVisibleActivityCount--;
if (mVisibleActivityCount <= 0) {
isBackground = true;
// Called when the application is sent to the background.
MPLogger.monitorAppBackground();
}
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
}
A coleta de dados varia conforme o tipo de build:
|
Tipo de build |
Dados coletados |
|
Debug APK |
Todos os eventos de lentidão (amostragem de 100%) |
|
Release APK |
Amostragem de 10% |
Instrumentação de ANR
Um evento Application Not Responding (ANR) ocorre quando a thread principal fica inativa por mais de 5 segundos.
O monitoramento de ANR utiliza a mesma configuração do monitoramento de lentidão. Para ativá-lo, consulte Ative o monitoramento de lentidão.