中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android?app啟動節點與上報啟動的方法

發布時間:2022-04-29 10:11:49 來源:億速云 閱讀:130 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Android app啟動節點與上報啟動的方法”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Android app啟動節點與上報啟動的方法”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    app啟動的關鍵節點

    經常利用content provider 和Androidx里的 startup庫來對庫進行初始化操作,那么app啟動關鍵方法的執行順序是什么樣的呢? 怎么樣控制我的庫的啟動順序?

    參考這篇文章: Android 多個 ContentProvider 初始化順序

    精髓在這張圖里:

    Android?app啟動節點與上報啟動的方法

    回答上面的問題: 怎么樣控制我的庫的啟動順序?

    推薦用contentprovider,設置initOrder.

    不推薦用startup,因為它只能在dependices()回調里通過依賴來控制,是強依賴,不夠靈活

    Android?app啟動節點與上報啟動的方法

    啟動時間怎么算

    方案1: 參考firebase:

    從第一個contentProvider的attachInfo,到第一個頁面的onReusme:

    app-start-foreground-background-traces:https://firebase.google.com/docs/perf-mon/app-start-foreground-background-traces?authuser=0&platform=android

    App start trace
    This trace measures the time between when the user opens the app and when the app is responsive. In the console, the trace's name is _app_start. The collected metric for this trace is "duration".

    Starts when the app's FirebasePerfProvider ContentProvider completes its onCreate method.

    Stops when the first activity's onResume() method is called.

    Note that if the app was not cold-started by an activity (for example, by a service or broadcast receiver), no trace is generated.

    看一下FirebasePerfProvider的配置:

    initOrder="101",基本是最大的. 項目里其他的Provider都沒有怎么配置initOrder

        <provider
                android:name="com.google.firebase.perf.provider.FirebasePerfProvider"
                android:authorities="${applicationId}.firebaseperfprovider"
                android:exported="false"
                android:initOrder="101" />

    可以自己搞個類似的trace打印/上報一下

    Android?app啟動節點與上報啟動的方法

    <provider
                android:name="com.xxx.logs.AppStartMeasurer"
                android:authorities="${applicationId}.AppStartMeasurer"
                android:exported="false"
                android:initOrder="102" />

    然后就可以看logcat的日志輸出+ trace平臺的統計了

    方案2 : ams

    adb 命令:

    adb shell am start -W 包名/入口activity全類名

    在控制臺會輸出日志:

    Android?app啟動節點與上報啟動的方法

    這里的時間會比方案1統計到的時間小一些

    讀到這里,這篇“Android app啟動節點與上報啟動的方法”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    沂南县| 大连市| 任丘市| 仁怀市| 聂荣县| 新密市| 托克逊县| 会昌县| 屯门区| 南平市| 青海省| 莱阳市| 石阡县| 澎湖县| 德安县| 拜城县| 手机| 西安市| 永宁县| 哈密市| 姚安县| 肇庆市| 娄底市| 云霄县| 阿城市| 新源县| 固始县| 集安市| 波密县| 汕尾市| 兴和县| 年辖:市辖区| 平顺县| 内江市| 长白| 盐边县| 霍林郭勒市| 青海省| 萝北县| 青阳县| 紫金县|