Este exemplo demonstra como utilizar o fragmento probe FragmentAtClassScope.
Neste exemplo, uma probe conta o número de instâncias já criadas de todas as classes nos pacotes que correspondem ao padrão de curinga "com.sample*" e relata cada centésima criação de instância.
O "fragmento no escopo da classe" declara um contador que aparece como um campo estático do tipo int na classe em que o fragmento entry está compilado. O fragmento também declara um inicializador estático para a classe fragment que relata que a probe foi carregada. Observe que os itens na seção fragmentAtClassScope são construídos na classe probe gerada, não nas classes às quais a probe se aplica. Para inserir campos estáticos ou lógica do inicializador estático nas classes às quais uma probe se aplica, utilize os objetos staticField e staticInitializer.
Para utilizar esse código de exemplo, altere package="com.sample*" no objeto de destino para que se refira a um nome de pacote real.
Observe que para utilizar os caracteres & e < em XML, você deve especificar as entidades dos caracteres & e <, conforme mostrado no exemplo.
<?xml version="1.0" encoding="ASCII"?> <probekit> <probe> <fragmentAtClassScope> static public int entry_counter = 0; static int counter = 0; static { System.out.println("[fragmentAtClassScope sample probe has loaded.]"); } </fragmentAtClassScope> <target type="include" package="com.sample*" method="<init>" /> <target type="exclude" package="*" /> <fragment type="entry"> <code> ++counter; if (counter % 100 == 0) System.out.println("[" + counter + " instances of classes in com.sample package so far]"); </code> </fragment> </probe> </probekit>
Tópico-pai: Referência do Kit Probe
Referência Relacionada
O Objeto Probe FragmentAtClassScope