Get這個(gè)秘籍,告別鴻蒙原生應(yīng)用頁面滑動(dòng)白塊/白屏困擾

0 評(píng)論 97 瀏覽 0 收藏 7 分鐘
🔗 产品经理的核心价值是能够准确发现和满足用户需求,把用户需求转化为产品功能,并协调资源推动落地,创造商业价值

在鴻蒙應(yīng)用開發(fā)中,部分應(yīng)用頁面在滑動(dòng)時(shí)會(huì)出現(xiàn)白塊或白屏的問題,不僅困擾開發(fā)者,還直接影響用戶體驗(yàn)。針對(duì)這一痛點(diǎn),華為近期分別推出了針對(duì)鴻蒙原生應(yīng)用ArkUI頁面及Web頁面的滑動(dòng)白塊與白屏問題的解決方案,通過創(chuàng)新技術(shù)手段解決不同技術(shù)棧下的性能瓶頸,為開發(fā)者提供更流暢的頁面渲染體驗(yàn),有效提升鴻蒙應(yīng)用的頁面滑動(dòng)流暢度。

ArkUI頁面動(dòng)態(tài)預(yù)加載:兼顧應(yīng)用首頁速度與滑動(dòng)流暢性

在ArkUI頁面中,滑動(dòng)時(shí)出現(xiàn)白塊現(xiàn)象是開發(fā)者常遇到的技術(shù)難題,且大多數(shù)情況在使用imageKnife后仍存在相應(yīng)問題。傳統(tǒng)的優(yōu)化方式主要依賴于增加cachedCount緩存數(shù)量,但這一方法往往帶來新的問題,例如首頁白屏或內(nèi)存占用增加,影響整體體驗(yàn)。為了解決這一痛點(diǎn),華為提供了一種基于動(dòng)態(tài)預(yù)加載的方案,通過將LazyForEach+ImageKnife和Repeat+ImageKnife兩種技術(shù)組合,精準(zhǔn)優(yōu)化頁面渲染過程。這一方案不僅能有效避免ImageKnife導(dǎo)致的圖片加載延遲問題,同時(shí)還能縮短LazyForEach的首屏加載時(shí)間,為開發(fā)者帶來更優(yōu)的頁面加載體驗(yàn),同時(shí)提升用戶的視覺流暢度。

該方案通過實(shí)現(xiàn)Prefetcher接口監(jiān)聽數(shù)據(jù)項(xiàng)的變化,動(dòng)態(tài)控制資源的下載與取消,并結(jié)合ImageKnife三方庫實(shí)現(xiàn)具體的預(yù)取和緩存管理。這種動(dòng)態(tài)預(yù)加載策略突破了以往解決方案的局限性,提供了一種更加智能、高效的頁面優(yōu)化方式,既解決了滑動(dòng)過程中圖片加載不及時(shí)導(dǎo)致的卡頓白塊,又避免了首頁白屏問題,同時(shí)降低內(nèi)存壓力。華為與鴻蒙生態(tài)中的應(yīng)用伙伴通力合作,在多個(gè)實(shí)際應(yīng)用場(chǎng)景中驗(yàn)證了該方案的可行性,幫助使用imageKnife的10多位伙伴解決了滑動(dòng)白塊問題。

目前,該方案的相關(guān)代碼庫和文檔已通過開源社區(qū)及技術(shù)平臺(tái)開放,開發(fā)者可訪問Gitee、思否、51CTO、CSDN等平臺(tái)獲取詳細(xì)指南。

Gitee鏈接:

https://gitee.com/ohadss/white_block_solution?login=from_csdn

思否鏈接:

https://segmentfault.com/a/1190000046046687

51CTO鏈接:

https://ost.51cto.com/posts/31432

CSDN鏈接:

https://harmonyosdev.csdn.net/678f60a2911edf5f3b042b1b.html

Web頁面全局組件復(fù)用庫:預(yù)加載資源場(chǎng)景實(shí)現(xiàn)“零等待”

在Web頁面的優(yōu)化上,華為也帶來了全新的技術(shù)方案。Web頁面在加載過程中,常因資源下載耗時(shí)導(dǎo)致頁面卡頓、丟幀、白塊問題,影響用戶體驗(yàn)。傳統(tǒng)的原生容器組件無法直接預(yù)渲染W(wǎng)eb組件,因此開發(fā)者通常需要自行維護(hù)節(jié)點(diǎn)池,開發(fā)成本高昂。而華為提供的全局自定義組件復(fù)用三方庫“nodepool”,則通過BuilderNode創(chuàng)建全局自定義組件復(fù)用池,實(shí)現(xiàn)跨頁面的Web組件復(fù)用及自動(dòng)化的入池、出池管理,極大地簡化了Web頁面的開發(fā)流程。

基于“nodepool”的持續(xù)優(yōu)化,這一方案在原生頁面的高性能滑動(dòng)體驗(yàn)上,已經(jīng)實(shí)現(xiàn)了對(duì)競品的超越,并提供了一種簡單易用的全局組件復(fù)用能力,大幅提升開發(fā)者的開發(fā)效率,讓代碼量減少200行以上。在降低開發(fā)難度的同時(shí),該方案還通過優(yōu)化資源加載與渲染流程,大幅降低了滑動(dòng)卡頓和丟幀率,使Web頁面的加載幾乎可達(dá)到“秒開”效果。以某頭部旅行應(yīng)用為例,在應(yīng)用該方案后,Web頁面的預(yù)加載體驗(yàn)得到顯著提升,頁面基本能夠?qū)崿F(xiàn)瞬時(shí)打開,從根本上解決了預(yù)加載資源耗時(shí)過長的問題。

目前,“nodepool”已上線OpenHarmony社區(qū)三方庫中心倉,開發(fā)者可訪問“OpenHarmony官網(wǎng)”,點(diǎn)擊“開發(fā)者”——>“三方庫中心倉”——>搜索“nodepool”,下載使用。

更多關(guān)于“nodepool”的詳細(xì)信息和使用指南,請(qǐng)?jiān)L問:

https://ohpm.openharmony.cn/#/cn/detail/@hadss%2Fnodepool/v/1.0.2-rc.0

華為此次推出的ArkUI與Web頁面滑動(dòng)白塊/白屏解決方案,不僅優(yōu)化了鴻蒙應(yīng)用的頁面加載性能,更顯著降低了開發(fā)者實(shí)現(xiàn)高性能滑動(dòng)效果的門檻。歡迎更多開發(fā)者應(yīng)用廠商使用和反饋,共同提升鴻蒙應(yīng)用的性能與體驗(yàn)。

未來華為也將持續(xù)攜手生態(tài)伙伴共建創(chuàng)新,面向底座技術(shù)、通用能力、垂類行業(yè)等場(chǎng)景推出系列開發(fā)者場(chǎng)景化解決方案,不斷提升鴻蒙原生應(yīng)用的創(chuàng)新體驗(yàn)和開發(fā)效率,與廣大開發(fā)者共建繁榮的鴻蒙生態(tài)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!
专题
16464人已学习12篇文章
本专题的文章分享了物联网产品的设计思路。
专题
15263人已学习12篇文章
本专题的文章分享了数据产品经理的通用技能。
专题
13731人已学习12篇文章
为了推动公司业务的正常运转操作,我们需要建立一定的业务模型来推动运作。本专题的文章分享了如何构建业务模型。
专题
16284人已学习12篇文章
本专题的文章分享了数据的分析方法。
专题
65992人已学习25篇文章
做好微信运营比做好APP运营还重要,因为用户把时间都给了微信。
专题
15486人已学习15篇文章
汽车座舱的智能化,本质上是通过硬件+软件的手段,让汽车座舱具备人类“智能”的能力,使人与车直接协作更加安全高效。本专题的文章分享了智能座舱的产品模块解读。