国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android flutter項(xiàng)目 啟動(dòng)優(yōu)化實(shí)戰(zhàn)(一)使用benchmark分析項(xiàng)目

這篇具有很好參考價(jià)值的文章主要介紹了Android flutter項(xiàng)目 啟動(dòng)優(yōu)化實(shí)戰(zhàn)(一)使用benchmark分析項(xiàng)目。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?

目錄

?Android flutter項(xiàng)目 啟動(dòng)優(yōu)化實(shí)戰(zhàn)(一)使用benchmark分析項(xiàng)目

Android flutter項(xiàng)目 啟動(dòng)優(yōu)化實(shí)戰(zhàn)(二)利用 App Startup 優(yōu)化項(xiàng)目和使用flutterboost中的問(wèn)題解決

背景描述

啟動(dòng)時(shí)間是用戶對(duì)應(yīng)用的第一印象,較慢的加載會(huì)對(duì)用戶的留存和互動(dòng)造成負(fù)面影響

在剛上線的Android 原生&flutter 的B端項(xiàng)目中:

??1.提高啟動(dòng)速度能提高整體流程的效率

??2.提高首次運(yùn)行速度能提高應(yīng)用推廣的初體驗(yàn)效果

問(wèn)題描述

????????項(xiàng)目剛上線沒(méi)多久、目前存在冷啟動(dòng)過(guò)程存在若干問(wèn)題亟需優(yōu)化 比如flutter hotrestart 不可用 、啟動(dòng)500ms黑屏問(wèn)題

?初期項(xiàng)目的啟動(dòng)流程?

解決方案及工具

? ? ? ? 從結(jié)果上分為兩大類,其中之一是以SplashScreen為代表的體驗(yàn)優(yōu)化方向, 另一個(gè)是懶加載、減少包體積等的功能性優(yōu)化方向. 但到實(shí)際的業(yè)務(wù)場(chǎng)景中要與業(yè)務(wù)功能結(jié)合使用 與pm等人進(jìn)行溝通.

沒(méi)有專門大塊的時(shí)間去搞優(yōu)化 于是分優(yōu)先級(jí)、分階段實(shí)現(xiàn)

檢測(cè)工具

?Jetpack Macrobenchmark 庫(kù)

Macrobenchmark?庫(kù)可衡量更大規(guī)模的最終用戶互動(dòng),例如啟動(dòng)、與界面交互和動(dòng)畫。此庫(kù)可讓您直接控制受測(cè)試的性能環(huán)境。借助它,您還可以通過(guò)控制編譯、啟動(dòng)和停止應(yīng)用來(lái)直接衡量實(shí)際的應(yīng)用啟動(dòng)或滾動(dòng)。

1.在項(xiàng)目中New?Module出來(lái)

flutter benchmarks,android,flutter,性能優(yōu)化

2.將配置改為你所需要的

@RunWith(AndroidJUnit4::class)
class ExampleStartupBenchmark {
    @get:Rule
    val benchmarkRule = MacrobenchmarkRule()

    @Test
    fun startup() = benchmarkRule.measureRepeated(
        packageName = "com.test.app",//你的包名 
        metrics = listOf(StartupTimingMetric()),
        iterations = 5, //測(cè)試五次
        startupMode = StartupMode.COLD//冷啟動(dòng)方式
    ) {
        pressHome()
        startActivityAndWait()
    }
}

3.更改配置及運(yùn)行?

app部分為benchmark,把其他Module都改成release 后運(yùn)行

flutter benchmarks,android,flutter,性能優(yōu)化flutter benchmarks,android,flutter,性能優(yōu)化

那么以如下情況為例

優(yōu)化前(0.0V)問(wèn)題分析

flutter benchmarks,android,flutter,性能優(yōu)化

生成結(jié)果

運(yùn)行benchmark后生成結(jié)果:

flutter benchmarks,android,flutter,性能優(yōu)化

flutter benchmarks,android,flutter,性能優(yōu)化
Benchmark startup生成結(jié)果

結(jié)果有兩個(gè)log Benchmark和device info,分別是當(dāng)前程序數(shù)據(jù)和設(shè)備硬件信息 我們關(guān)注Benchmark下的兩個(gè)指標(biāo)?

Time to initial display & Time to full display

名稱 描述 用處
初始顯示時(shí)間(Time to initial display)

啟動(dòng)流程和完成在屏幕上繪制相應(yīng)活動(dòng)之間經(jīng)過(guò)的時(shí)間量。 經(jīng)過(guò)的時(shí)間包含以下事件序列:

  • 啟動(dòng)進(jìn)程。

  • 初始化對(duì)象。

  • 創(chuàng)建并初始化Activity。

  • 加載布局。

  • 第一次繪制你的應(yīng)用程序。

初始顯示時(shí)間 能用戶讓覺(jué)得不卡

完全顯示時(shí)間(Time to full display) 測(cè)量應(yīng)用程序啟動(dòng)和所有資源和視圖層次結(jié)構(gòu)的完整顯示之間經(jīng)過(guò)的時(shí)間 完全顯示時(shí)間 能用戶正常使用

分析

?????????其中max時(shí)間很長(zhǎng)、總體時(shí)間也不短? 中位數(shù)接近最小值??

????????作為初期項(xiàng)目?Time to initial display & Time to full display我全都要解決

flutter benchmarks,android,flutter,性能優(yōu)化

接下來(lái)我們看看到底什么地方用了這么長(zhǎng)時(shí)間 點(diǎn)擊進(jìn)入 Traces :Iteration具體如下圖所示

????????從啟動(dòng)到展示出來(lái)的每個(gè)信息 是否并行 順序都在這里展示出來(lái)

flutter benchmarks,android,flutter,性能優(yōu)化
啟動(dòng)數(shù)據(jù)展示
flutter benchmarks,android,flutter,性能優(yōu)化
查看操作方式 點(diǎn)擊大圖查看

可以看到bindApplication時(shí)間很長(zhǎng)等問(wèn)題

flutter benchmarks,android,flutter,性能優(yōu)化

確認(rèn)優(yōu)化點(diǎn)

綜上并結(jié)合實(shí)際顯示的問(wèn)題有幾個(gè)大的優(yōu)化向:

1.縮短總時(shí)長(zhǎng)(解決黑屏問(wèn)題、懶啟動(dòng)、優(yōu)化流程)、2.優(yōu)化啟動(dòng)項(xiàng)(使用App Startup)、3.提升用戶體驗(yàn)

參考文檔:

對(duì)您的應(yīng)用進(jìn)行基準(zhǔn)測(cè)試 ?|? App quality ?|? Android Developers文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-769276.html

到了這里,關(guān)于Android flutter項(xiàng)目 啟動(dòng)優(yōu)化實(shí)戰(zhàn)(一)使用benchmark分析項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【vite+vue3.2 項(xiàng)目性能優(yōu)化實(shí)戰(zhàn)】使用vite-plugin-cdn-import進(jìn)行CDN加速優(yōu)化項(xiàng)目體積

    【vite+vue3.2 項(xiàng)目性能優(yōu)化實(shí)戰(zhàn)】使用vite-plugin-cdn-import進(jìn)行CDN加速優(yōu)化項(xiàng)目體積

    CDN (Content Delivery Network)即內(nèi)容分發(fā)網(wǎng)絡(luò),是一種通過(guò)在全球范圍內(nèi)分布式部署服務(wù)器來(lái)加速網(wǎng)絡(luò)內(nèi)容傳輸?shù)募夹g(shù)。CDN加速的原理是,當(dāng)用戶請(qǐng)求訪問(wèn)某個(gè)資源時(shí), CDN會(huì)根據(jù)用戶的地理位置和網(wǎng)絡(luò)狀況,自動(dòng)選擇離用戶最近的服務(wù)器來(lái)響應(yīng)請(qǐng)求 。如果該服務(wù)器上已經(jīng)緩存了

    2024年02月03日
    瀏覽(97)
  • flutter開(kāi)發(fā)實(shí)戰(zhàn)-應(yīng)用更新apk下載、安裝apk、啟動(dòng)應(yīng)用實(shí)現(xiàn)

    flutter開(kāi)發(fā)實(shí)戰(zhàn)-應(yīng)用更新apk下載、安裝apk、啟動(dòng)應(yīng)用實(shí)現(xiàn)

    flutter開(kāi)發(fā)實(shí)戰(zhàn)-應(yīng)用更新apk下載、安裝apk、啟動(dòng)應(yīng)用實(shí)現(xiàn) 在開(kāi)發(fā)過(guò)程中,經(jīng)常遇到需要更新下載新版本的apk文件,之后進(jìn)行應(yīng)用更新apk下載、安裝apk、啟動(dòng)應(yīng)用。我們?cè)趂lutter工程中實(shí)現(xiàn)下載apk,判斷當(dāng)前版本與需要更新安裝的版本進(jìn)行比對(duì)判斷,通過(guò)判斷VersionCode來(lái)確定下載

    2024年02月02日
    瀏覽(60)
  • android項(xiàng)目實(shí)戰(zhàn)之使用框架 集成多圖片、視頻的上傳

    android項(xiàng)目實(shí)戰(zhàn)之使用框架 集成多圖片、視頻的上傳

    效果圖 ?實(shí)現(xiàn)方式,本功能使用PictureSelector?第三方庫(kù)? 。作者項(xiàng)目地址:https://github.com/LuckSiege/PictureSelector 1. builder.gradle?增加 2. XML布局 3.?適配器,這里對(duì)GridImageAdapter進(jìn)行了改進(jìn)。 5.?點(diǎn)擊增加彈框布局 6.?彈框頁(yè)面初始化 7.? 彈框頁(yè)面監(jiān)聽(tīng)初始化 8.?增加拍照回調(diào),不加這

    2024年01月23日
    瀏覽(20)
  • 【Android入門到項(xiàng)目實(shí)戰(zhàn)--3.4】—— ListView控件的使用

    【Android入門到項(xiàng)目實(shí)戰(zhàn)--3.4】—— ListView控件的使用

    目錄 一、ListView的簡(jiǎn)單用法 二、進(jìn)一步優(yōu)化ListView界面 三、提升ListView的效率(優(yōu)化) 四、ListView的點(diǎn)擊事件 本篇文章主要講解最常用的控件之一:ListView的使用。 ??????? 當(dāng)我們的程序有大量的數(shù)據(jù)需要展示的時(shí)候,可以借助ListView實(shí)現(xiàn)。ListView允許用戶上下滑動(dòng)滾動(dòng)屏

    2024年02月07日
    瀏覽(20)
  • flutter開(kāi)發(fā)實(shí)戰(zhàn)-MethodChannel實(shí)現(xiàn)flutter與原生Android雙向通信

    flutter開(kāi)發(fā)實(shí)戰(zhàn)-MethodChannel實(shí)現(xiàn)flutter與原生Android雙向通信 最近開(kāi)發(fā)中需要原生Android與flutter實(shí)現(xiàn)通信,這里使用的MethodChannel MethodChannel:用于傳遞方法調(diào)用(method invocation)。 通道的客戶端和宿主端通過(guò)傳遞給通道構(gòu)造函數(shù)的通道名稱進(jìn)行連接 一個(gè)應(yīng)用中所使用的所有通道名稱

    2024年02月13日
    瀏覽(20)
  • Android 性能優(yōu)化系列:?jiǎn)?dòng)優(yōu)化進(jìn)階

    Android 性能優(yōu)化系列:?jiǎn)?dòng)優(yōu)化進(jìn)階

    應(yīng)用的速度優(yōu)化是我們使用最頻繁,也是應(yīng)用最重要的優(yōu)化之一,它包括啟動(dòng)速度優(yōu)化、頁(yè)面打開(kāi)速度優(yōu)化、功能或業(yè)務(wù)執(zhí)行速度優(yōu)化等等,能夠直接提升應(yīng)用的用戶體驗(yàn)。 大部分人談到速度優(yōu)化,只能想到一些零碎的優(yōu)化點(diǎn),比如使用多線程、預(yù)加載等等,沒(méi)有一個(gè)較為體

    2024年02月13日
    瀏覽(25)
  • Android 性能優(yōu)化——APP啟動(dòng)優(yōu)化

    ??????? 首先在《Android系統(tǒng)和APP啟動(dòng)流程》中我們介紹了 APP 的啟動(dòng)流程,但都是 FW 層的流程,這里我們主要分析一下在 APP 中的啟動(dòng)流程。要了解 APP 層的啟動(dòng)流程,首先要了解 APP 啟動(dòng)的分類。 冷啟動(dòng) ????????應(yīng)用從頭開(kāi)始啟動(dòng),即應(yīng)用的首次啟動(dòng)。需要做大量的工

    2024年04月12日
    瀏覽(35)
  • Android性能優(yōu)化系列篇(二):?jiǎn)?dòng)優(yōu)化

    Android性能優(yōu)化系列篇(二):?jiǎn)?dòng)優(yōu)化

    匯總了一下眾多大佬的性能優(yōu)化文章,知識(shí)點(diǎn),主要包含: UI優(yōu)化/啟動(dòng)優(yōu)化/崩潰優(yōu)化/卡頓優(yōu)化/安全性優(yōu)化/弱網(wǎng)優(yōu)化/APP深度優(yōu)化等等等~ 本篇是第二篇:?jiǎn)?dòng)優(yōu)化!? [非商業(yè)用途,如有侵權(quán),請(qǐng)告知我,我會(huì)刪除] 強(qiáng)調(diào)一下: 性能優(yōu)化的開(kāi)發(fā)文檔跟之前的面試文檔一樣,想要的

    2023年04月11日
    瀏覽(31)
  • Flutter系列文章-實(shí)戰(zhàn)項(xiàng)目

    Flutter系列文章-實(shí)戰(zhàn)項(xiàng)目

    在本篇文章中,我們將通過(guò)一個(gè)實(shí)際的 Flutter 應(yīng)用來(lái)綜合運(yùn)用最近學(xué)到的知識(shí),包括保存到數(shù)據(jù)庫(kù)、進(jìn)行 HTTP 請(qǐng)求等。我們將開(kāi)發(fā)一個(gè)簡(jiǎn)單的天氣應(yīng)用,可以根據(jù)用戶輸入的城市名獲取該城市的天氣信息,并將用戶查詢的城市列表保存到本地?cái)?shù)據(jù)庫(kù)中。 1. 確定項(xiàng)目目標(biāo) 我們

    2024年02月13日
    瀏覽(21)
  • flutter項(xiàng)目啟動(dòng)安卓模擬器不好使的問(wèn)題

    flutter項(xiàng)目啟動(dòng)安卓模擬器不好使的問(wèn)題

    在flutter項(xiàng)目中,ios模擬器好使,安卓模擬器不好使. 分為2種情況: 但是在android studo中新建安卓項(xiàng)目,卻可以用安卓模擬器運(yùn)行啟動(dòng). 解決方法: 1.首先啟動(dòng)vpn,讓項(xiàng)目可以提示錯(cuò)誤. 2.然后再android studo中運(yùn)行,如果報(bào)錯(cuò),可能會(huì)顯示一個(gè)版本號(hào),例如:30.0.3 那么就設(shè)置 android studo的Android

    2024年02月11日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包