深入Android架构(从线程到AIDL)_17 SurfaceView的UI多线程01

1、 View与SurfaceView 之区别

  • SurfaceView是View的子类,其内嵌了一个用来绘制的Surface。
  • 当SurfaceView成为可见时,就会诞生Surface;反之当SurfaceView被隐藏时,就会删除Surface,以便节省资源。
  • 程序里可以控制Surface的大小,SurfaceView可控制Surface的绘图位置。
  • View组件是由UI 线程(主线程所执行)。如果需要去迅速更新UI画面或者UI画图需要较长时间(避免阻塞主线程),就使用SurfaceView。
  • 它可以由背景线程(background thead)来执行,而View只能由UI(主)线程执行。这SurfaceView内含高效率的rendering机制,能让背景线程快速更新surface的内容,适合演示动画(animation)。
  • 在程序里,可以通过SurfaceHolder接口来处理Surface,只要调用getHolder()函数就可以取得此接口。
  • 当SurfaceView成为可见时,就会诞生Surface;反之当SurfaceView被隐藏时,就会删除Surface,以便节省资源。当Surface诞生和删除时,框架互调用SurfaceCreated()和 SurfaceDestroyed()函数。

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思忖小下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值