android显示系统
文章平均质量分 67
we1less
学习
展开
-
显示系统[4] APP申请创建Buffer分配Buffer的过程
申请bufferANativeWindow_Buffer outBuffer;surface->lock(&outBuffer, NULL); 首先使用dequeueBuffer申请buffer然后把这个buffer包装成backBuffer 最后调用backBuffer->lockAsync得到一个vaddr(虚拟地址) 然后把这个vaddr(虚拟地址)赋值给outBuffer->bits,这个就是最终把数据填充的地址 路径framew...原创 2021-08-16 22:37:07 · 627 阅读 · 0 评论 -
显示系统[3] APP申请创建Surface的过程
sp<SurfaceControl> surfaceControl = client->createSurface(String8("resize"), 160, 240, PIXEL_FORMAT_RGB_565, 0); 调用mClient->createSurface 值得注意的是此处是biner通信过程,实际上是通过BpSurfaceComposerClient的createSurface函数调用Client的onTransact再调...原创 2021-08-15 23:47:34 · 544 阅读 · 0 评论 -
显示系统[2] APP创建SurfaceFlinger客户端(client)的过程
分析上一篇例子应用程序发创建client对于创建client 首先是要获得 SurfaceFlinger服务 其次通过binder调用其中函数创建SurfaceFlinger服务对应的应用程序代码 路径frameworks/native/services/surfaceflinger/main_surfaceflinger.cppint main(int, char**) { ... // instantiate surfaceflinger sp<...原创 2021-08-15 21:35:05 · 333 阅读 · 0 评论 -
显示系统[1] 简单的Surface测试程序
路径:AOSP/android-8.1.0_r1/frameworks/native/services/surfaceflinger/tests/resizemk文件LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES:= \ SurfaceTest.cppLOCAL_SHARED_LIBRARIES := \ libcutils \ libutils \ libui \ libgui \..原创 2021-08-08 23:43:00 · 446 阅读 · 0 评论