_晨曦_的头像
关注了标签 JavaScript JavaScript
Android @ 怕被认出来
还是乐多还是乐多
_晨曦_于2021-04-02 12:41发布的图片
2
今天,我们都成为了光。
_晨曦_于2021-03-30 21:00发布的图片
2
给大家介绍一下,这是乐多。
_晨曦_于2021-03-30 00:11发布的图片
6
下个十年,我们还在一起,bilibili淦杯🍻
_晨曦_于2021-03-29 16:19发布的图片
_晨曦_于2021-03-29 16:19发布的图片
3
守护最好的二刺猿
_晨曦_于2021-03-29 10:46发布的图片
6
二刺猿车车
_晨曦_于2021-03-24 22:23发布的图片
_晨曦_于2021-03-24 22:23发布的图片
3
赞了这篇沸点
之前想先给主线程减负,妄图把绘制操作也给搬到异步线程里去,可现在突然发现在Android里对于普通UI来说,也许根本就不需要异步渲染(类似于iOS的AsyncDisplayKit那种),或者说早就是全局异步渲染了。因为5.0之后已经开始默认使用ThreadedRenderer来取代之前的GL了,硬件加速的DisplayListCanvas也跟软件绘制的Canvas不太一样,因为它根本就不会执行绘制操作,而是像FragmentTransition一样保存一个记录,在记录完一套绘制流程结束之后才会扔给RenderThread来绘制,所以当我们调用drawXXX的时候,实际上主线程是不干活的,所以也就没什么负载可言了。至于TextureView和SurfaceView,这两玩意本来就是为了做高刷新用的,所以天生就给你准备了双缓冲,并不适合做静态UI展示(有两个Canvas,要画两次)。TextureView虽然可以强行单缓冲,但TextureView本身需要管理SurfaceTexture,这样会占用更多内存,用它的lockCanvas还给你返回一个非硬件加速的Canvas,所以这样一来不管从延时来看还是内存来看,效率都反而更低了。
展开
评论
赞了这篇文章
迷茫的年轻人的头像
半全栈工程师
·
4年前
分享

java 并发编程

java 并发编程...
1
个人成就
文章被点赞720
文章被阅读64,334
掘力值1,335
收藏集
1
关注标签
22
加入于