startactivity调用链
2017-01-16 14:34:46 0 举报
在Android系统中,startActivity()是用于启动一个新的Activity的常用方法。当调用此方法时,系统会创建一个新的Activity实例,并将其添加到任务栈中。如果当前任务栈中已经存在该Activity的实例,那么系统会将用户带回到该实例并清除之前的所有Activity。此外,startActivity()还可以传递一些额外的数据给目标Activity,例如Intent对象。总之,startActivity()是Android应用程序中实现页面跳转和数据传递的重要手段之一。
作者其他创作
大纲/内容
GraphicBufferAlloc
createGraphicBuffer():sp<GraphicBuffer>
BufferSlot
mGraphicBuffer:sp<GraphicBuffer>mBufferState:BufferStatemFrameNumber_uint64_t
GraphicBufferMapper
Surface
mSlots:BufferSlot[]
这个底色表示SurfaceFlinger端的类
这个底色表示客户端的类
BitTube
BufferQueueCore
mSlots:BufferSlot[]mGraphicBufferAlloc:sp<IGraphicBufferAlloc>mDefaultWidth:uint32_tmDefaultHeight:uint32_tmPixelFormat:uint32_tmFrameCounter:uint64_t
allocBuffersattachBuffercancelBufferdequeueBufferdetachBuffer...
buffer:sp<GraphicBuffer>dirtyRegion:Region
MessageQueue
BufferQueueProducer
GraphicBuffer表示一个缓冲区BufferState是一个枚举值用来表示缓冲区的状态,有效值以及状态变迁过程如下:FREE->DEQUEUED//客户端获取到缓存->QUEUED//客户端释放缓存->ACQUIRED//消费者消费缓存->FREE
通过向BufferQueue注册该监听者,可以获取到buffer的状态回调。onFrameAvailable表示buffer已经准备好了可被消费。onBuffersReleased会通知consumer它已经释放其slot中的一个或多个GraphicBuffer引用
BnGraphicBufferAlloc
ConsumerListener
onFrameAvailable():voidonBuffersReleased():void
IGraphicBufferAlloc
与SurfaceFlinger中的BufferSlot对应
Fence
0 条评论
下一页