Função estranha no ActivityManager: isUserAMonkey. O que isso significa, para que serve?

144

Encontrei a seguinte função no pacote android.app.ActivityManager.

public static boolean isUserAMonkey ()

A referência descreve:

public static boolean isUserAMonkey () Desde: API Nível 8

Retorna "true" se a interface do usuário estiver sendo alterada por um macaco no momento.

Fiquei chocado com essa função estranha. E tem algumas perguntas.

  • O que isso significa (a interface do usuário está sendo bagunçada por um macaco)?

  • Qual é o uso prático dessa função?

  • Por que eles usam isUserAMonkeypara o nome da função?

gtiwari333
fonte
Não há documentação adequada. Então, como podemos usar a função Eles devem revisar sua documentação.
Mahendran
de acordo com a resposta do HefferWolf, esse método é usado para alguns testes automáticos da estrutura do Android (eu acho), então não precisamos usar essa função.
gtiwari333
10
Shock the monkey
Jeff Axelrod
Parece-me o código de teste que vazou para as bibliotecas de produção, neste caso, o ActivityManager. Ter seu código de produção informado sobre se ele está sendo testado no momento e, presumivelmente, alterar suas ações de qualquer maneira, com base no conhecimento que funciona contra todo o ponto do código de teste que facilmente leva ao Hisenbugs. Ele também adiciona fragmentos à API, dificultando o entendimento e a manutenção. O fato de que essa pergunta SO existe mesmo é evidência suficiente.
Melinda Green
Eu ri quando vi esse método
Marcos Vasconcelos

Respostas:

33

O Monkey é um programa que roda em seu emulador ou dispositivo e gera fluxos pseudo-aleatórios de eventos do usuário, como cliques, toques ou gestos, além de vários eventos no nível do sistema. Você pode usar o Monkey para testar aplicativos de estresse que está desenvolvendo, de maneira aleatória, mas repetível.

basta consultar estes links também:

harikrishnan
fonte