当前位置:首页 > 闲鱼脚本 > 我要通知你们的英文 (我要通知你们的是|e|u|关于FL|t|r初始化环节)

我要通知你们的英文 (我要通知你们的是|e|u|关于FL|t|r初始化环节)

admin2年前 (2023-11-27)闲鱼脚本1180
微信号:xy916228
添加微信好友。 免费测试。
复制微信号
作者,闲鱼科技,然道,减少群,试用软件复制最近,在性能优化环节中,发如今混合堆栈的开发中,第一次性启动flutte。作者:闲鱼科技-然道

最近,在性能优化环节中,发如今混合堆栈的开发中,第一次性启动f lutte r页面所需的期间总是第二次启动f lutte r页面所需期间的两倍左右,这让人觉得十分蹩脚。经过剖析发现,第一次性启动FL u t e r页面时会启动一些初始化上班。因此,我梳理了f l u t e r的初始化环节。

含糊逻辑初始化重要分为四个局部:含糊逻辑初始化、含糊逻辑初始化、含糊逻辑初始化和含糊逻辑初始化。

让咱们先看一下FL UT e r初始化的序列图,从全体上掌握FL UT e r初始化的普经环节:

这局部初始化是在调用开局时由一个PL i c a t o n c r e a t e方法口头的,在一个p p p中,当创立第一次性时,它不会影响页面的第一次性启动,所以这只是一个便捷的剖析。

从f l u t e r m a i t i i t i i z a t i o n方法代码可以很容易地看到。初始化重要分为四个局部。

前三局部相似,即初始化性能信息、初始化aot编译和初始化资源。最后一局部是加载FL-UT-r的n a t i v e环境。

u

首先,经常使用一个图表来显示FL u t r n a t i v e w结构函数的调用堆栈:

从上图中的调用堆栈中,咱们知道了FL u t e r n a t i v e w的初始化重要做什么。让咱们从源代码的角度启动更深化的了解:

f l u t e r n a t i v e e w的结构函数重要调用n a t i v e a t a c h方法。这里咱们须要剖析引擎层代码。咱们可以在jni文件中找到相应的jni方法调用。(详细文件为PL a t f o r m v i w a n d r o i d j n i.c)

从代码中可以很容易地看出,fl u t r n a t v e v i e w a t a c h方法最终调用了sh e l::a t a c h方法,而sh e l::a t a c h方法重要做两件事:

1.创立p l a t f o r m v i e w和r o i d。

2.调用PLATOFORMVIEW和RDROID::ATACH。

而后,让咱们剖析一下plaformvi的结构函数和athch方法做了什么?

其中:

1.pla t f r m v i e w a n d r o i d的结构函数重要调用i t i a l i z e p l a t f r m s u r f a c e方法,该方法重要初始化u r f a c e,其中s u r f a c e具备v u l k a n、o p e g l和s o f t w a r e的差异。

2.这里的方法重要调用三种方法:c r a t e e a t e e g i n e、s e t u p r e c o t e x t o o o t e a d r i o i t i t a d p i t i e。

2.1 c r e a t e i n e e e i n e e e e i n e e e i n e e e e i n e e e e e i n e e e i n e e i n e e i n e e e e e i n e e e e e e e e e e e e。创立一个e n g i n e,在这里,一个e n g i n e对象将被从新创立。

2.2 s e t u p r s o u r c o n t e x t o n i o d是i o线程预备资源的高低文逻辑。

2.3 u p d a t h r a d p r i o r i es是设置线程优先级,这将g p u线程优先级设置为-2,u i线程优先级设置为-1。

f l u t e r v i e w的初始化是一个纯n d r o i d层,因此它相对便捷。剖析f l u t e r v i w j a v a的结构器会发现,整个f l u t e r v i w的初始化除了确保成功创立f u t e r n a v i w和一些必要的v i e w设置外,重要做两件事:

1.注册s u r f a c e h o l d e r侦听,其中s u r f a c e r e a t e d回调将用作f u t e r的第一帧回调。

2.初始化了f l u t e r系统所需的一系列桥接方法。例如:Loc a l i z a t i o n,n a v i g a t i o n,k y e v e n t,s y s t e m,s e t i g s,p l a t f r m,t e x t i u t。

f l u t e r v i e w初始化环节重要如下图所示:

假设从r u n f l u t e r u n d l e开局,经过调用f l u t e r a c t i v i t y e l e g e来初始化r u t e r u n d l e,首先经常使用一个图表来说明r u n f l u t e r u n d l e方法的调用堆栈:

让咱们从源代码的角度启动更深化的了解:

在口头f u t r a c t v i t e方法后,f u t r a c t i t y的o c r a t e方法将调用其r u n f l u t e r b u t e d l e方法。f l u t t r a c t i v i t y e g t e。r u n f l u t r b u n d l e代码如下所示:

显然,这个r u n f l t r u n d l e做的事件不多,间接调用了f l u t e r v i e w r u n f r o m b l e方法。之后,您将调用pla t f o r m v i w a n d r o i d::r u n b u n d l a n d s n a p s h ot方法。

[e n g i n e=e n g i n e u->g e t w e a k p t r(),

s s e t_PR o v i d r=s t d::m o v e(s e t_PR o v i d r),

b u n d l e_pa t h=s t d::m o v e(b u n d l e_pa t h),e n t r y p o i n t=s t d::m o v e(e n t r y p o n t),

r e u s e_un t i m e_co n t r o l e r=r e u s e_un t i m e_co n t r l e]

i f(e n g i n e)

e n g i n e->r u n b u n d l w i t s(

s t d::m o v e(s s e t p r o v i d e r),s t d::m o v e(b u n d l e p a t h),

s t d::m o v e(e n t r y p o i n t),r e u s e_un t i m e_un t r l e;

第一个,第二个,第三个,第三个,第二个和第三个。

最后,dor u n b u n d l e方法只调用三种方法中的一种:r u n f r m p r e m p i d s n a p s h ot、r u n f r m k r n e l和r u n f r m s r p s h ot。这三种方法最终将被称为s n d s t a r t m s a g e方法。

s e n d s t a r m e s a g e方法重要做三件事:

1.失掉f l u t e r entry方法(例如,m a i n方法)的c l o s u r e。

2.快来吧。

3.发送信息以调用f l u t e r的输入方法。

这一次性,咱们重要剖析f u t r a t i t y方法中f l u t e r初始化的逻辑。显然,初始化f u t e r n a t i v i e w、f u t e r v i e w和f u t e b u n d l e重要须要期间,在引见中很容易处置三个初始化前疑问。经过测试发现,经过这些更改后,FL u t e r页面的第一次性启动期间与接上去的启动期间简直相反。

关于f l u t r m a in,尚未进一步剖析s t a r t i t i i z a t i o n的初始化逻辑,以及s e n d s t a r t m e s g e发送的信息最终如何调用f l u t e r中的输入方法逻辑。这些内容将在以后继续剖析和分享。

短视频宝宝=慢?阿里巴巴的工程师们就在这样一秒钟内关上了路由治理代码的短视频。阿里巴巴工程师如何高效地处置这个疑问?(适用)一个很好的打算,可以协助您成功复杂数据源中单元格信息的准确规范化。在f l u t e r中嵌入n a t v e组件的正确姿态是,闲置鱼没有供应的做法是什么,以及如何做到?不务正业的鱼没有货源。

闲置市场规模超越万亿。二手电子商务迎来了循环经济的红利。“校园圈”真的能成为游鱼成长的第二个引擎吗?

扫描二维码推送至手机访问。

版权声明:本文由闲鱼监控助手发布,如需转载请注明出处。

本文链接:http://28rx.com/post/3880.html

标签: 闲鱼闲鱼科
分享给朋友:

“我要通知你们的英文 (我要通知你们的是|e|u|关于FL|t|r初始化环节)” 的相关文章

闲鱼不能经常改价格吗 (闲鱼不能经常使用花呗怎样办|处置闲鱼花呗支付疑问)

闲鱼不能经常改价格吗 (闲鱼不能经常使用花呗怎样办|处置闲鱼花呗支付疑问)

假设你是一位闲鱼用户,并且想要经常使用花呗启动支付,那么你或许会遇到一些疑问,闲鱼并不允许花呗支付,这关于一些用户来说或许是一个大疑问,然而,你不用担忧,由于咱们将。 假设你是一位闲鱼用户,并且想要经常使用花呗启动支付,那么你或许会遇到一些疑问。闲鱼并不允许花呗支付,这关于一些用户来说或许是一个大疑...

闲鱼助手app破解版免费下载 (闲鱼助手app下载)

闲鱼助手app破解版免费下载 (闲鱼助手app下载)

闲鱼助手。 闲鱼卖家虽不是消费厂家,但是经过闲鱼无货源,营销规划从一二线市区到四五线城镇,产品用户更是遍布五湖四海甚至是海外。那么,闲鱼无货源卖家的货源路径终究都有哪些呢?对此,无妨听听鱼游闲鱼助手如何说。理想上,鱼游闲鱼助手是一款专业级的闲鱼卖家辅佐软件,可谓是闲鱼店群玩家的规范... 闲鱼助手...

经常使用闲鱼会怎么样 (经常使用闲鱼上货软件只有要这三步即可)

经常使用闲鱼会怎么样 (经常使用闲鱼上货软件只有要这三步即可)

身为一名闲鱼卖家,咱们在诸多闲鱼上货软件品牌中精挑细选,选中了鱼游闲鱼助手,那么接上去应当如何操作,应用好这一款闲鱼辅佐软件呢,咱们关于刚刚注册好的闲鱼号,预备经常使用闲鱼助手之前,必定留意上方几个疑问,第一步,你要预备几个支付宝信誉好比拟高的账号,这可是一个关键步骤,由于闲鱼与支付宝有着间接的关联...

闲鱼上货到付款,发现假货后,还能退回来吗 (闲鱼上货)

闲鱼上货到付款,发现假货后,还能退回来吗 (闲鱼上货)

闲鱼助手。 闲鱼的火爆早已不是一个二手闲置市场的昨日容貌,它的灿烂与多姿是时代的使然,是市场的肯定,更是Z世代生产主力的一种显明态度,甚至连明星大腕也进驻此地,更何况那些闲鱼店群玩家。对此,咱们经常使用闲鱼工具用户要如何能力让订单源源始终呢?一、学习规定,仔细解读既然我... 闲鱼助手 前不久...

闲鱼智能上货什么意思 (闲鱼智能上货)

闲鱼智能上货什么意思 (闲鱼智能上货)

闲鱼助手。 闲鱼只管是一个二手闲置买卖平台,然而如今的用户曾经遍布各个行业和年龄端,成为如今国际比比皆是的买卖和社交平台。那么,咱们商家在经常使用闲鱼以及闲鱼助手软件时还须要留意哪些方面呢?首先,倡导闲鱼卖家对产品题目给予必定水平的注重,经常使用闲鱼助手一键采集其余店铺的商品后,题目尽量修......

闲鱼群控软件多少钱 (闲鱼群控软件的配置和实用人群有哪些)

闲鱼群控软件多少钱 (闲鱼群控软件的配置和实用人群有哪些)

在疫情的出尔反尔之下,实体经济遭到很大的冲击,很多好友都想了解闲鱼电商赚钱,什么是闲鱼群控软件,闲鱼群控软件实用哪些人群呢。 我是一名闲鱼商家兼淘宝客感谢闲鱼助手团队!我破费好长期间试过一切的辅佐软件,最终还是选用了这个闲鱼助手。真的是良知软件。性价比最高,关键是经常使用十分便捷。我如今58个闲鱼号...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。