十年大厂架构师。
今天我们聊聊移动端性能优化、ui卡顿内存问题等棘手的问题,也是面试中经常会问到的,这些问题怎么来解决?第一个我们今天先讨论UI卡顿问题,解决方案分为常规方案和黑科技。
·常规方案就比如说我们的UI是不是布局圈套太深,没有使用性能优化相关的一些方式,view Stub等等的merge标签、include标签就是纯UI方面的。当然了我们常规的解决方法,我们通过一些Systraces traceView等等的一些安卓自带的一些检测工具来做检查,这些都是属于常规的一些方式。

·当然还有一些常规的里边当然还包括布局的检查,是不是这一块业务也比较复杂,等等的业务相关的梳理。这是第一个方面。
·那么黑科技我们又从哪些来考虑?首先比如说我们的进到某个页面,主页面它的内容特别多特别复杂。这个时候我们是不是考虑到了异步加载,因为整个页面XML比较大。我们是不是安卓默认的setContentView解析,这个XML都是在主线程,我们是不是可以把它提前来做解析,提前放在异步线程里边。

还没到进到这个页面,我们提前准备好。我们到页面来了,再进行一个view的加载,那么这就是Asynclnflater一些方式,放在子线程里边,提前做好准备来加载。同时你像掌阅科技的一些方案,X2C方案。
它的一个目的就是我们写的布局还是那个布局,还是写的那个XML。但是我们通过编译的时候写gradle插件来解析了XML,把它转化成一个类似于flutter这种申明式布局。这样我们在业务团队写开发的过程中对它们的代码侵入性是非常小的,我们在主线程来解析XML,这是一种方式。

·还有你比如在抖音的一些方案,它就是说安卓刷新机制。它要来刷新uiui变化了之后它会同步屏障,它会发同步屏障,这个时候ui也会发消息,发消息它会在messageQueue轮询\messageQueue里边的消息屏障。

但是这个消息,如果消息前边有大量的业务,在同步屏障前面这个时候就是导致了整个的消息刷新相关的message,得不到及时的执行。所以说有一种方案拿到当前app的messageQueue,然后拿到里边的同步屏障,把它屏障插到整个messageQueue的对列的队首最前边。这样我的UI就得到了及时刷新。至于你后边业务相关的message你再继续执行,这也是一些非常黑科技的一些方式。
好了,还有什么黑科技可以在评论区留言。
以上就是小编带来的移动 卡免费看抖音的全部内容,希望能够帮助到大家,更多抖音操作运营内容,请关注金符游戏。
2023-07-19
2023-07-06
2024-01-23
2023-06-27
2023-04-15
英盛企业版苹果版
办公学习84.1MB
下载
东方财富期货苹果版
办公学习216.3MB
下载
新概念英语第一册苹果版
办公学习228.6MB
下载
菜鸟点我达苹果最新版
系统工具160.8MB
下载
HiSuiteapp苹果版
系统工具31.1MB
下载
黑洞代理苹果版
生活实用38.6MB
下载
MXF Video Converter苹果版
摄影图像53MB
下载
超级阿姨苹果最新版
生活实用186.8MB
下载
史莱姆模拟器游戏苹果版
其他软件176.6MB
下载
北京卫视养生堂app
医疗健康6.73MB
下载