自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在 Flutter 中更快地加載圖像資源!

開發(fā) 開發(fā)工具
我們可以把圖片放在我們的assets文件夾中,但如何更快地加載它們呢?這里有一個Flutter中的秘密函數(shù)可以幫助我們做到這一點--precacheImage()。

[[427111]]

我們可以把圖片放在我們的assets文件夾中,但如何更快地加載它們呢?這里有一個Flutter中的秘密函數(shù)可以幫助我們做到這一點--precacheImage()。

很多時候(尤其是在 Flutter Web 中),您的本地資源圖像需要花費大量時間在屏幕上加載和渲染!

這對用戶來說是不利的,特別是如果該圖像是你的屏幕的背景圖像。如果圖像是屏幕上的任何組件,我們?nèi)匀豢梢燥@示閃爍的微光(shimmer)或其他東西,以便用戶知道圖像正在加載。但是,我們不能為背景圖片顯示閃爍的微光,對嗎?

我們在 Flutter 中有一個簡單而有用的方法,我們可以用它來更快地加載我們的資產(chǎn)圖像——precacheImage()!

precacheImage 將ImageProvider和context作為必要參數(shù),并返回 Future。

  1. Future<void> precacheImage( 
  2.     ImageProvider<Object> provider, 
  3.     BuildContext context, 
  4.     {Sizesize
  5.     ImageErrorListener? onError} 

此方法將圖像預取到圖像緩存中,然后無論何時使用該圖像,它的加載速度都會快得多。但是,ImageCache 不允許保存非常大的圖像。

由于在此需要上下文,因此我們可以在可訪問上下文的任何函數(shù)中添加 precacheImage()。我們可以將相同的內(nèi)容放在第一個屏幕的 didChangeDependencies() 方法中!

例如

  1. void didChangeDependencies() {       
  2.   precacheImage(AssetImage("assets/logo.png"), context); 
  3.   precacheImage(AssetImage("assets/home_bg.png"), context);   
  4.   super.didChangeDependencies();   

上面的例子將把 logo.png 和 home_bg.png 緩存到ImageCache中。所以現(xiàn)在,無論何時我們使用這張圖片,它都會加載得更快。

這是一個方便的技巧,以加載你的圖像資產(chǎn)更快!下面是使用和不使用 precacheImage() 加載圖像所需時間的一個小統(tǒng)計

你可以看到,開始的 3 個打印語句是沒有 precacheImage 的,每次都花費近 10 毫秒?,F(xiàn)在,下一個是 precacheImage,它在緩存中存儲圖像需要 14 毫秒。隨后的加載只用了 5 毫秒。所以我們可以得出結(jié)論,它將加載時間減少到近 50%!您可以在 GitHub 上找到相同的代碼!

 

 

 

原文:https://abhishekdoshi26.medium.com/load-your-image-assets-faster-in-flutter-13d06037af2b

 

責任編輯:武曉燕 來源: 前端全棧開發(fā)者
相關(guān)推薦

2013-09-25 10:18:26

Java啟發(fā)式搜索

2021-02-03 21:24:42

Joplin筆記

2020-06-15 11:04:38

JavaScript 代碼JavaScript

2024-01-08 11:39:57

FlutterUI設計

2012-07-04 15:05:14

ibmdw

2021-08-31 09:12:18

StringIntLong

2024-03-04 11:52:16

Flutter應用程序資產(chǎn)管理

2021-03-25 12:50:31

Linux磁盤命令

2025-03-07 11:06:06

大型語言模型AICoD

2023-11-12 11:54:55

UX性能widget

2021-02-07 13:00:40

GIMP開源圖像編輯器

2018-02-26 09:00:00

2023-09-20 00:06:30

Python代碼函數(shù)

2018-12-28 14:10:57

開發(fā)工具 移動應用

2015-12-15 15:09:49

Windows 10資源訪問

2016-12-01 14:23:32

iosandroid

2021-07-27 13:08:52

微軟Chrome新提案

2020-09-21 05:54:45

Promise APIJSCSS

2012-03-12 09:33:04

JavaScript

2021-09-07 17:18:19

Linux內(nèi)存資源釋放內(nèi)存
點贊
收藏

51CTO技術(shù)棧公眾號