问问android代码的几个小疑问

方紫涵 2011-02-16 09:40:40
问问android代码的几个小疑问

1。
代码中常出现的
template <typename T>
class sp
{
public:
inline sp() : m_ptr(0) { }

是个类模板,看文件名字是smartpointer,这个sp这样如下用有什么好处阿?

sp<ISurface> SurfaceFlinger::createSurface(ClientID clientId, int pid,
const String8& name, ISurfaceFlingerClient::surface_data_t* params,
DisplayID d, uint32_t w, uint32_t h, PixelFormat format,
uint32_t flags)
{
sp<LayerBaseClient> layer;
sp<LayerBaseClient::Surface> surfaceHandle;
。。。。。。

2 。为什么IXxx开头的类总是被 BnXxx开头的类继承?有什么特殊含义?


3 。还有个小疑问:
Surface系统中的
Layer、LayerBuffer、LayerDim、LayerBlur分别表示什么层阿

Buffer Dim Blur英文单词对应的是什么阿?
还有
eFXSurfaceNormal eFXSurfaceBlur eFXSurfaceDim eFXSurfaceMask
中的 eFX,Mask ,Normal ,代表什么意思阿?
...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
方紫涵 2011-02-16
  • 打赏
  • 举报
回复

五月风吹代码醉
直把我司当谷歌

thanks
freshui 2011-02-16
  • 打赏
  • 举报
回复
1. smartPointer的话, 呵呵, 你可以不用关心野指针啊,内存释放啊 什么的了 :)


2。 IXXX是接口, 一般情况下会被继承出两个部分:
BnXXX 这是用在native端的,一般就是服务端。
BpXXX 这个用在proxy端的,一般就是客户端。
因为这个接口就是设计用在多进程RPC通信的。


3。
Layer、LayerBuffer、LayerDim、LayerBlur
Layer:创建的就是正常的surface
LayerBuffer: 创建的surface,但是不占有内存,内存地址别人给的。一般用在视频的pushbuffer实现中
LayerDim: 就是让surface 变暗淡的,比如弹出提示框的时候,后面的surface
LayerBlur: 让surface变模糊,比如长按关机键后。
方紫涵 2011-02-16
  • 打赏
  • 举报
回复
2 3楼的问题在一楼里面
不太会用csdn 见谅
方紫涵 2011-02-16
  • 打赏
  • 举报
回复
发现这里怎么不能编辑帖子阿!?

继续
eFXSurfaceNormal eFXSurfaceBlur eFXSurfaceDim eFXSurfaceMask
中的eFX,Mask ,Normal ,代表什么意思阿?
方紫涵 2011-02-16
  • 打赏
  • 举报
回复
还有个小疑问:
Surface系统中的
Layer、LayerBuffer、LayerDim、LayerBlur分别表示什么层阿

Buffer Dim Blur英文单词对应的是什么阿?

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧