- 語法:
<profileable android:shell=["true" | "false"] android:enabled=["true" | "false"] />
- 包含於:
<application>
- 說明:
- 指定分析器如何存取這個應用程式。
- 屬性:
android:shell
- 指定裝置使用者是否能透過下列本機偵錯工具剖析這個應用程式:
android.os.Trace
追蹤 API (Android 11 以下版本)simpleperf
am profile
指令perfetto
分析器 (原生記憶體、Java 記憶體、CPU)
false
,這些工具和 API 就只會在應用程式處於debuggable
狀態時運作。 可進行偵錯的應用程式會造成各種效能明顯降低的問題,對準確評估時間並無幫助。強烈建議您使用此元素進行本機效能評估,以獲得準確結果。這個元素的設計宗旨是在發布版本/正式版本中都要能夠使用,這樣才能啟用本機剖析。這會使資料外洩的風險降到最低,因為主機剖析工具與殼層程序無法讀取任何記憶體資料,只有堆疊追蹤可供讀取。堆疊追蹤在發布子版本中通常會經過模糊處理或缺少符號。
android:enabled
-
指定系統服務或殼層工具是否能剖析應用程式。如果是殼層工具,您還要設定
android:shell
。設為 false 時,系統就完全無法剖析應用程式。預設值是 true。這是在 API 級別 30 中新增的屬性。
- 導入版本:
- API 級別 29
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2023-03-31 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]