[A11y]识别Flutter语义性能问题,

aij0ehis  于 4个月前  发布在  Flutter
关注(0)|答案(4)|浏览(65)

重现步骤

tldr:目标是找出如何在开启语义时提高性能,并找出需要改进的地方。
当在Flutter中开启语义时,由于语义树的编译,应用程序可能会出现性能问题。我们过去只是有条件地开启语义,但现在开始出现了一些场景,我们希望默认开启。例如:

  1. web平台无法判断辅助技术是否正在运行
  2. web SEO使用语义树进行索引
  3. android应用爬虫也使用accessibilitynodes来爬取应用程序。
    我们现在需要做的是:
  4. 确定性能是否真的糟糕到足以阻止我们这样做
  5. 如果答案是肯定的,那么是什么导致了性能问题
  6. 如果答案是肯定的,那么需要做什么才能让它运行得更快。

相关问题

滚动卡顿 #61193

uqzxnwby

uqzxnwby1#

你能解释一下你关于SEO的第二点是什么意思吗?
我的理解是,SEO机器人不会运行JavaScript或Wasm,所以它们基本上只能看到一个空的index.html。换句话说,当机器人读取应用程序时,Flutter不会运行。

6jjcrrmo

6jjcrrmo2#

SEO爬取DOM元素树。由于我们在语义开启时为语义目的创建了一个表示Flutter应用程序的DOM树,我们认为更合理的做法是将这个DOM树用于SEO爬取。
问题在于,当SEO发生时,语义DOM树可能并不总是存在,有一些解决方法,但这涉及到一些hack。

9jyewag0

9jyewag03#

@chunhtai 谷歌爬虫不会执行JavaScript,或者最近有变化吗?
编辑:似乎我错了,爬虫会执行一些JavaScript。

gdrx4gfi

gdrx4gfi4#

一些新的发现

在滚动静态内容时,语义更新大约需要2.6毫秒在一个6毫秒的帧中。所以几乎是50%。

相关问题