vivoy67如何隐藏通知,vivoy67的隐藏图标怎么打开

首页 > 实用技巧 > 作者:YD1662023-10-28 18:38:07

先拉起启动页,然后启动页拉起首页,首页再拉起广告页,广告页起来先展示默认图,然后同时去做是否有广告的判断,然后再去做广告的展示,这个过程如果没有广告,也会让默认的广告页展示3秒钟再关闭。

这个过程显然是不合理的,广告有自己的疲劳期,那么在没有广告的时候,拉起广告页就是一个浪费。其次广告页作为一个Activity拉起,需要经历一些IPC的调用,整个操作也是比较重的。

基于这两点,我们在广告页这块,先在初始化的时候就做提前的资源拉取和预判,这样如果确实没有广告资源,那么广告页直接不做启动,节省启动资源。其次,我们将广告页由一个activity,改造成一个全屏展示的Dialog,进一步来节省广告拉起时资源消耗,让首页其他内容的加载有更充足的系统资源。

vivoy67如何隐藏通知,vivoy67的隐藏图标怎么打开(5)

数据预加载

在性能优化中,空间换时间与提前预加载就像广为人知的”中间加一层“一样好用。

闲鱼首页必须的两个接口,冷启和热启接口耗时在1秒左右,而他们是在首页第一帧回调回来之后的时机才开始请求的。这里完全可以把请求的时机提前到初始化的过程中并行去做,从而为闲鱼启动-1s。

于是我们设计了针对这种情况下的预取模块,在初始化的时候,就去做首页数据的预加载,整体的模块的时序如下:

vivoy67如何隐藏通知,vivoy67的隐藏图标怎么打开(6)

这一步做完之后,本地机器测试结果大约节约了950ms的启动时间。

view预创建

在解决完数据的问题之后,我们通过魔镜平台,会发现在y67上,首页展示之后,有大量的白屏的时间,view的创建和渲染,在这里消耗了大量资源,并占用了很长的时间(这里每一帧是100ms),平均大概在1400ms

vivoy67如何隐藏通知,vivoy67的隐藏图标怎么打开(7)

于是我们自然而然的想到了在初始化的过程中去提前创建view,但是如果是在初始化过程中的主线程去创建view,那么势必会跟启动页和广告页等ui元素竞争主线程的使用,基本等于白干。

于是这里我们采用在子线程预先创建view并执行mesure与layout操作。等待首页渲染时,使用对应的id进行取出和使用。做完之后,会发现view的上屏时间,在y67上缩短到600ms,减少了一倍的的时间:

vivoy67如何隐藏通知,vivoy67的隐藏图标怎么打开(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.