- Sintaxe:
<profileable android:shell=["true" | "false"] android:enabled=["true" | "false"] />
- contido em:
<application>
- descrição:
- Especifica como os criadores de perfil podem acessar o aplicativo.
- atributos:
android:shell
-
Especifica se o usuário do dispositivo pode criar o perfil do aplicativo usando ferramentas de depuração
locais, como estas:
- APIs de rastreamento do
android.os.Trace
(Android 11 e versões anteriores) simpleperf
- Comandos
am profile
- Criadores de perfis do
perfetto
(memória nativa, memória Java, CPU)
false
, essas ferramentas e APIs vão funcionar apenas quando um app fordebuggable
(depurável). Apps depuráveis geram degradação significativa e variada do desempenho e não são úteis para medir marcações de tempo com precisão. Esse elemento é altamente recomendado para medições de desempenho local para capturar resultados precisos.Esse elemento foi projetado para ser usado em builds de produção ou de lançamento para permitir a criação local de perfis. A exposição dos dados é mínima, já que não é possível ler os dados da memória pelas ferramentas de criação de perfil do host e pelo processo do shell. Somente os stack traces são legíveis, geralmente ofuscados ou sem símbolos em builds de lançamento.
- APIs de rastreamento do
android:enabled
-
Especifica se o perfil do aplicativo pode ser criado pelos serviços do sistema ou pelas ferramentas do shell.
No último caso, você também define
android:shell
. Se for definido como "false", não será possível criar um perfil do aplicativo. O padrão é "true". Esse atributo foi adicionado no nível 30 da API.
- introduzido em:
- Nível 29 da API
<profileable>
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[null,null,["Última atualização 2025-07-27 UTC."],[],[],null,["# <profileable\u003e\n\nsyntax:\n:\n\n ```xml\n \u003cprofileable android:shell=[\"true\" | \"false\"] android:enabled=[\"true\" | \"false\"] /\u003e\n ```\n\ncontained in:\n: [\u003capplication\u003e](/guide/topics/manifest/application-element)\n\ndescription:\n: Specifies how profilers can access this application.\n\nattributes:\n:\n\n `android:shell`\n :\n Specifies whether the user of the device can profile this application through local debugging\n tools such as the following:\n\n - [android.os.Trace](/reference/kotlin/android/os/Trace) tracing APIs (Android 11 and lower)\n - [simpleperf](/ndk/guides/simpleperf)\n - [am profile](/studio/command-line/adb#am) commands\n - [`perfetto` profilers](/studio/command-line/perfetto) (native memory, Java memory, CPU)\n\n\n If this isn't set, or is set to `false`, these tools and APIs work only when an app is\n [debuggable](/guide/topics/manifest/application-element#debug).\n Debuggable apps incur significant and varied performance degradation and aren't useful for\n measuring timing accurately. This element is strongly recommended for local performance\n measurements, to capture accurate results.\n\n This element is designed to be usable in release, or production, builds to enable local profiling.\n It incurs minimal risk of data exposure: no memory data is readable by the host profiling tools\n and the shell process. Only stack traces are readable, which are typically obfuscated or lacking symbols\n in release builds.\n\n:\n\n `android:enabled`\n :\n Specifies whether the application can be profiled by system services or shell tools.\n For the latter, you also set [`android:shell`](#shell).\n If false, the application can't be profiled at all. The default is true.\n\n This attribute was added in API level 30.\n\nintroduced in:\n: API Level 29"]]