中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

想做機(jī)械加工和橡膠生意怎么做網(wǎng)站磁力搜索引擎2023

想做機(jī)械加工和橡膠生意怎么做網(wǎng)站,磁力搜索引擎2023,wordpress 表單驗證,建網(wǎng)站程序怎么辦背景 書接上回: Android flutter項目 啟動優(yōu)化實戰(zhàn)(一)使用benchmark分析項目 已經(jīng)分析出了問題: 1.縮短總時長(解決黑屏問題、懶啟動、優(yōu)化流程)、2.優(yōu)化啟動項(使用App Startup)、3.提升用…

背景

書接上回:





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

已經(jīng)分析出了問題:

1.縮短總時長(解決黑屏問題、懶啟動、優(yōu)化流程)、2.優(yōu)化啟動項(使用App Startup)、3.提升用戶體驗

1.使用App Startup??

? ? ? App Startup庫提供了一種在應(yīng)用啟動時初始化組件的簡單而高效的方法。庫開發(fā)者和應(yīng)用開發(fā)者都可以使用應(yīng)用啟動來簡化啟動序列,并明確設(shè)置初始化順序。

???????通過應(yīng)用啟動,您可以定義共用單個 Content Provider 的組件初始化程序,而無需為需要初始化的每個組件定義單獨的 Content Provider。這可以顯著縮短應(yīng)用啟動時間。

引入

    implementation "androidx.startup:startup-runtime:1.1.1"

?

使用方法

通過提供 若干需要初始化的組件構(gòu)成的Initializer 給App Startup?

以timber為例子🌰:

class TimberInitializer : Initializer<String> {//create() 方法,其中包含初始化組件并返回 T 實例的所有必要操作。override fun create(context: Context): String {Timber.plant(Timber.DebugTree())return "TimberInit"}
//dependencies() 方法,該方法返回初始化程序所依賴的其他 Initializer<T> 對象的列表。您可以使用此方法控制應(yīng)用在啟動時的順序。override fun dependencies(): List<Class<out Initializer<*>>> {// No dependencies on other libraries.return emptyList()}
}

生成若干的Initializer

然后在清單配置:? ?

? ?其中 tools:node="remove"? 代表取消初始化

     <application>   <providerandroid:name="androidx.startup.InitializationProvider"android:authorities="${applicationId}.androidx-startup"android:exported="false"tools:node="merge"><meta-dataandroid:name="com.app.test.init.FlutterBoostInitializer"android:value="androidx.startup" /><meta-dataandroid:name="com.app.test.init.XGPushInitializer"android:value="androidx.startup"tools:node="remove" /><!--根據(jù)隱私政策 延后初始化--><meta-dataandroid:name="com.app.test.init.InstaInitializer"android:value="androidx.startup"/></provider></application>

手動初始化

根據(jù)業(yè)務(wù)場景某些Initializer可以延后手動初始化

AppInitializer.getInstance(context).initializeComponent(ExampleLoggerInitializer::class.java)

效果檢查

使上一章的方式使用benchmark分析項目檢查結(jié)果

可以自己查看相關(guān)Initializer的相關(guān)效果?

可以清晰看到app startup在bindApplication的中?進(jìn)行了相關(guān)初始化?

注意事項:

  • InitializationProvider 的 onCreate() 方法是在主線程被調(diào)用的,這對于某些初始化時間過長,需要運行在子線程的組件來說就不太適用了。

  • 跟聲明順序無關(guān) 若有依賴項目 需要放入dependencies方法里

  • 由于 Startup 內(nèi)部會緩存 Initializer 的初始化結(jié)果值,所以重復(fù)調(diào)用 initializeComponent方法不會導(dǎo)致多次初始化,手動初始化該方法也可用于自動初始化時獲取初始化結(jié)果值

2.優(yōu)化基于flutterboost的flutter首頁

問題描述

使用?flutter?boost? 和其它第三方組件 都進(jìn)行初始化時??debug偶現(xiàn) release幾乎必現(xiàn) 啟動黑屏

解決方案

當(dāng)時的解決方法是

修改flutterboost源碼中啟動部分并加以500ms的延遲

新版解決方案

處理appBuilder

具體參考 flutter boost 啟動白屏踩坑_flutter release

并順手將flutter main方法進(jìn)行了優(yōu)化 在runApp()方法前面的?await LocalNotification.init();等方法懶加載

本階段總結(jié)

start up點擊進(jìn)去能看到具體的詳情?

優(yōu)化前后對比

0.0v1.0v

如果僅max值從打開來看 優(yōu)化了50%(畢竟如果第一次啟動時間特別長 用戶印象會很深)

總體效果還是不錯的?

http://m.risenshineclean.com/news/63441.html

相關(guān)文章:

  • 舉重運動員 做網(wǎng)站線上推廣活動有哪些
  • 移動做績效的網(wǎng)站網(wǎng)站建設(shè)策劃書范文
  • 海寧市規(guī)劃建設(shè)局網(wǎng)站東莞網(wǎng)站建設(shè)公司
  • wordpress去除評論限制網(wǎng)站按天扣費優(yōu)化推廣
  • 有了網(wǎng)站模板 還要怎樣做域名注冊要多少錢
  • 亞網(wǎng)互聯(lián)網(wǎng)站設(shè)計市場營銷畢業(yè)后找什么工作
  • 做企業(yè)網(wǎng)站收費百度競價推廣效果怎么樣
  • 濰坊做網(wǎng)站的電話泰州百度seo公司
  • 個人網(wǎng)站模板如何在各大平臺推廣
  • wordpress國內(nèi)速度優(yōu)化安卓優(yōu)化清理大師
  • 商品展示網(wǎng)站模板短視頻獲客系統(tǒng)
  • 一個app能賣多少錢搜索引擎排名優(yōu)化技術(shù)
  • 網(wǎng)站建設(shè)應(yīng)列入啥費用搜索引擎營銷優(yōu)化的方法
  • vi設(shè)計說明范文解析重慶百度推廣優(yōu)化排名
  • 傳統(tǒng)企業(yè)網(wǎng)站建設(shè)網(wǎng)站宣傳推廣策劃
  • 微信公眾號網(wǎng)站建設(shè)seo網(wǎng)址大全
  • 微信3g網(wǎng)站開發(fā)百度云盤搜索引擎入口
  • 電商詳情頁素材廣州seo網(wǎng)站公司
  • 網(wǎng)站硬件需求泉州關(guān)鍵詞快速排名
  • 便宜的網(wǎng)站空間新聞軟文廣告
  • 西藏做網(wǎng)站找誰網(wǎng)站設(shè)計公司怎么樣
  • 個人怎么做旅游網(wǎng)站麗水網(wǎng)站seo
  • 怎么用數(shù)據(jù)庫做動態(tài)網(wǎng)站最近國際新聞大事
  • 鄭州旅游網(wǎng)站搭建網(wǎng)站流量分析
  • 食品營銷型網(wǎng)站建設(shè)全能搜
  • 天河移動網(wǎng)站建設(shè)新聞頭條今日新聞
  • 江蘇城鄉(xiāng)建設(shè)廳官方網(wǎng)站找關(guān)鍵詞的三種方法
  • 網(wǎng)站建設(shè)開發(fā)文檔湖北網(wǎng)絡(luò)營銷網(wǎng)站
  • 天津企業(yè)網(wǎng)站制作公司網(wǎng)絡(luò)推廣公司
  • 專注高密做網(wǎng)站哪家強(qiáng)滄州seo推廣