-
Notifications
You must be signed in to change notification settings - Fork 459
Open
Description
背景
- 产品的功能越来越多,安卓小程序变得越来越卡,普通的手机可能一下子内存就爆了,还有页面渲染变得拖拖拉拉
- 使用的是vue3,原本用JSX渲染,发现对性能会有影响,或者说vue3对于模板渲染本身有做优化,然后全部改写成vue单文件,性能上有明显提升。
- 想起Taro那边3.0也有段时间了,看看Taro是否有性能优化的处理
测试环境
- PC Macbook pro 16
- QQ小程序
- 安卓机子 z5x
- vue3
列表渲染测试
测试了一下Taro和kbone在超长列表的渲染
结论
- 开发者工具上,kbone比较异常,能渲染的条数非常的少,但是真机上正常,不知道什么原因,不过不影响
- 在真机上,无论从最多渲染数量,渲染真实速度都差不多,渲染一个较为复杂的列表,基本都是600条,15s的渲染时间...
- 唯一不同的就是在nextTick中Taro大概5s只有就返回了,说明setData操作应该是延后执行,这种做法有好有坏,我是不喜欢
- 对比原生,原生600条渲染只要5s。还是有差距。
关于Taro
其实很早之前为了让H5的同学快速进行开发有用过,和现在3.0差异很大。Taro的优势在于时间和生态,活得久,用得人多,填坑自然又多又快。
但是不太习惯的是Taro不能剥离出核心,一定只能用Taro本身的框架,这就造成了更多其他的问题... 这点也就非常难以忍受的
当然写的时候也不是很习惯,例如只能使用view标签,都知道目的是为了适配所有平台,但是这就让不需要适配那么多平台的情况很难受。而且还要把原有代码全部改成view... 如果以后又不用,难道又要改回去?还有像h5这样的平台,本来可以做一些优化,现在可能因为Taro本身编译无法实现,这就是和框架太耦合的结果。
所以肯定是更愿意接受像kbone这样的方案
真实案例
kbone没有展示出来哪些案例,所以没办法真机测试其他应用情况
Taro有很多,但是首页上展示的都是一些功能比较简单的应用。看到一个京喜算是大的商城应用,结果用安卓使用,也是卡出了天际。
总结
- 好的不用说,无论对团队,还是个人。还是对产品都是前所未有的提升。
- 不好的就是关于安卓的性能上真的太让人头疼,特别是QQ那边,97%都是安卓用户,开玩笑的说就是面向安卓开发
- 关于性能的优化,h5肯定非常流畅不管是不是安卓。小程序那边能做的也做了,但是对于大一点的应用还是卡。这一卡就是大问题,卡分成两种,一种是迟钝,一种是动画卡。动画卡用户还好就觉得你做的比较差,但是迟钝就会觉得你应用不好用就不用。
太烦恼了,现在面临几个选择
- 用Taro重写,好处是可能有所提升,没有提升可以参考其他案例。但是不太喜欢
- 复杂的页面用原生组件重写,这种方式的混合估计效果也不会很好
- 原生写,那真的耗时耗力
Metadata
Metadata
Assignees
Labels
No labels