有人发现 flutter 滑动不跟手吗

2021-03-09 10:54:33 +08:00
 sewer

试了 android ios 上的 闲鱼,米游社,和我自己的软件, 感觉都有这毛病 稍微快点 页面会轻微向上跳

8445 次点击
所在节点    Flutter
69 条回复
CommandZi
2021-03-09 17:01:14 +08:00
@YuTengjing 没有吧,就我的感觉 iOS 咸鱼 6.9.11 版本,首页的列表和搜索页面的列表明显是两种技术
首页的列表和消息列表应该是原生的。搜索页面的列表和详情页面明显是 Flutter
zzw1998
2021-03-09 17:12:45 +08:00
有人试用 Flutter 2.0 了吗,各种问题有解决吗
lwlizhe
2021-03-09 17:42:07 +08:00
我感觉,造成这种现象的最主要原因还是 “会” 写 flutter 的人真的不多…………
另外 flutter 确实某些 api 真 tmd 是性能杀手,用了就卡的要死;
比如说 layout 方法这种必须在 UI Isolate 调用的 ,然鹅那玩意是个 cpu 密集型任务……做个分页 cpu 暴涨导致应用卡顿~~

先不提它这玩意性能为啥跟原生差这么多还 tm 只能在 UI 线程用,有什么好的解决方案么?
ybz
2021-03-09 17:44:10 +08:00
已升级到 flutter 2.0,除了几个第三方库有几个语法错误,修改成本地依赖解决,并未发现其他问题。
vate32
2021-03-09 18:13:16 +08:00
用过一个 Android RSS app,fluent reader lite[https://github.com/yang991178/fluent-reader-lite]就感觉列表很不跟手
debuggerx
2021-03-09 18:52:52 +08:00
debuggerx
2021-03-09 19:00:34 +08:00
@lwlizhe 我写阅读器的时候也碰到这个问题了,没办法,最后是绞尽脑汁,不分页,用百分比做文章进度转跳,然后每次只绘制当前页和前后页,只 layout 三个页面的文字量,总计算耗时大约十几毫秒,勉强能够接受吧:

http://www.debuggerx.com/2020/12/29/these-years-about-flutter-and-me/?from=v2ex#5
debuggerx
2021-03-09 19:01:37 +08:00
minami
2021-03-09 19:01:55 +08:00
只能说跟手和流畅是两个概念,流畅只需要做到画面刷新帧数高,跟手就需要各方面特别是触控和动画的打磨了。然而跨平台框架基本上是打磨不到原生的水平的,一来是隔了封装,二来是投入的精力不足
Building
2021-03-09 19:03:00 +08:00
@lwlizhe 跟手和性能没有什么绝对关系,跟手是手触碰到和滑动屏幕后映射到屏幕上点的变化,和框架调参数有很大关系,iOS 就算卡到 30Hz,也是跟手的,因为像素变化符合人的预期,Flutter 好像是谷歌自己插手图像渲染的吧,很可能没用到 UIKit,连 Android 都处理不好,更别说 Flutter 了。
minami
2021-03-09 19:03:09 +08:00
而且 flutter 还是自绘的,和原生控件完全不一样,只是看起来像而已
lwlizhe
2021-03-09 19:20:51 +08:00
@debuggerx 我是新开了一个 flutter enginer,然后弄了个 plugin,让原生层当个桥梁,让这个新开的 flutterView (或者是 flutter enginer )当作 UI 线程去搞,勉强能解决;

现在对比下 android,这 flutter 文字绘制这块 真是一言难尽~~

不过确实搞出来效果的时候蛮有成就感的~~

另外代码膨胀这个点个赞,太赞同了;组件这块也是,我感觉很多功能都能通过配置方式来合并,而非重新开一个新的组件;
lwlizhe
2021-03-09 19:24:20 +08:00
@Building 这样啊,不过其实我只是看到 flutter,有些东西不吐不快;

总结的话,精简一下:
未来可期,但是现在拉跨;离成熟稳定还是差距不小,需要更多大佬参与建设;
lizhenda
2021-03-09 19:24:25 +08:00
其实对比下游戏里面的列表就明白了,做游戏列表优化是万年难题,就是做不到原生的体验,flutter 也是自己控制 GL 绘制的和游戏引擎一样,能有现在的效果已经很强大了
sewer
2021-03-09 20:31:39 +08:00
@Building 对这很明显不是性能导致的 而是触摸响应导致的
LiuJQ
2021-03-09 20:37:27 +08:00
flutter 设计初衷就是为了纯 flutter application,只不过现阶段大多应用于 AddToApp 的 hybrid 开发模式,多 flutterview 导致内存倍数增长,所以体验不是太好。

写过纯 flutter app 的开发者应该都知道,仅一个 flutter engine 实例,体验是不输原生的。
tpphha
2021-03-09 21:56:09 +08:00
我更推崇 RN 的理念,Learn once, write anywhere.

除非公司实在没人,或者早期试错,不然完全不推荐用 flutter 。

闲鱼这么大体量,又不缺资源,用 flutter 就是自己作死,没事找事。本来可以 60 分的体验,自己硬是要弄成负分。
tpphha
2021-03-09 22:00:41 +08:00
一个事实,原生的体验是强于 flutter 的。如果有比这种体验更重要的事情,这时候才放弃原生去使用 flutter 。

但如果是一个成熟应用,我实在想不出任何理由不用原生,而去折腾 flutter,来折磨用户。
jones2000
2021-03-09 23:57:35 +08:00
flutter 能解决就业呀,1-2 个月就能上手, 直接就可以招应届的开工, 原生的开发没大半年能上手吗? Objective-C,java 半年能上手也不错了。大厂招这么多应届的,不用这些用什么呀, 不然只能天天摸鱼了。
jxdwinter
2021-03-10 08:51:22 +08:00
很疑惑一个问题,比如要用一些第三方的类库,是不是要等 flutter 版本的呢?比如高德,还是说 iOS 和 Android 可以分别引入第三方类库呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/759885

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX