- sintassi:
<profileable android:shell=["true" | "false"] android:enabled=["true" | "false"] />
- contenuto in:
<application>
- description:
- Specifica in che modo i profiler possono accedere a questa applicazione.
- attributi:
android:shell
-
Specifica se l'utente del dispositivo può profilare questa applicazione tramite debug locale
strumenti come:
- API di tracciamento di
android.os.Trace
(Android 11 e versioni precedenti) simpleperf
- Comandi
am profile
- Profilatori
perfetto
(memoria nativa, memoria Java, CPU)
false
, questi strumenti e API funzionano solo quando un'app vienedebuggable
. Le app di cui è possibile eseguire il debug subiscono un peggioramento significativo e diversificato delle prestazioni e non sono utili per misurare i tempi con precisione. Questo elemento è vivamente consigliato per il rendimento locale misurazioni per ottenere risultati accurati.Questo elemento è progettato per essere utilizzato nelle build in release o produzione per consentire la profilazione locale. Comporta un rischio minimo di esposizione dei dati: gli strumenti di profilazione dell'host non consentono di leggere i dati della memoria e il processo shell. Solo le analisi dello stack sono leggibili, che in genere sono offuscate o sono prive di simboli nelle build di release.
- API di tracciamento di
android:enabled
-
Specifica se l'applicazione può essere profilata in base ai servizi di sistema o agli strumenti shell.
Per quest'ultima, devi impostare anche
android:shell
. Se il valore è false, l'applicazione non può essere profilata. Il valore predefinito è true. Questo attributo è stato aggiunto nel livello API 30.
- introdotto in:
- Livello API 29
<profilabile>
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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"]]