注册登录
产品
社群
使用“Bing”搜本站
使用“Google”搜本站
使用“百度”搜本站
✓
站内搜索
注册登录
问答
博客
资讯
标签
用户
活动
极客观点
项目管理
HarmonyOS
开发者社区
热门标签
javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员
ONES 研发管理
思否企业问答
问答
博客
资讯
标签
用户
活动
极客观点
项目管理
HarmonyOS
开发者社区
热门标签
javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员
ONES 研发管理
思否企业问答
凡事提前
359
获赞数
6
关注数
1089
粉丝数
关注他
发私信
北京
IP 属地北京
2024-03-25 加入
浏览 10.7k
举报
屏蔽
主页
回答
242
提问
403
文章
4
更多
互联网从业者,做过Android、UI自动化、UI自动化框架、测试开发,目前在研究HarmonyOS 自动化测试相关技术。
4,127 声望
|
专家
harmonyos-next
4.1k
harmonyos
145
html标签
12
textview
12
自动化测试
5
2
黄金勋章
无名
选民
3
白银勋章
执著
挑战者
尽职公民
23
青铜勋章
受欢迎问题
harmonyos
harmonyos-next
个人动态
回答了问题
2 月 7 日
NativeWindow是什么,有什么作用?
凡事提前
NativeWindow是本地平台化窗口,表示图形队列的生产者端。开发者可以通过NativeWindow接口进行申请和提交Buffer,配置Buffer属性信息,用于实现图形内容的生成和显示。
回答了问题
2 月 7 日
NativeWindow常见的开发场景有哪些?
凡事提前
常见开发场景包括通过NativeWindow提供的Native API接口申请图形Buffer,并将生成的图形内容写入图形Buffer,最终提交Buffer到图形队列;以及在适配EGL层的eglswapbuffer接口时,进行申请和提交Buffer。
回答了问题
2 月 7 日
OH_NativeWindow_NativeWindowRequestBuffer接口的作用是什么,如何使用?
凡事提前
OH_NativeWindow_NativeWindowRequestBuffer接口用于通过OHNativeWindow对象申请一块OHNativeWindowBuffer,用以内容生产。使用时,需传入OHNativeWindow对象、用于接收申请的Buffer的指针以及用于接收栅栏文件描述符的指针,调用该接口即可申请Buffer。
回答了问题
2 月 7 日
OH_NativeWindow_NativeWindowFlushBuffer接口的作用是什么,如何使用?
凡事提前
OH_NativeWindow_NativeWindowFlushBuffer接口用于通过OHNativeWindow将生产好内容的OHNativeWindowBuffer放回到Buffer队列中,用以内容消费。使用时,需传入OHNativeWindow对象、要提交的Buffer、栅栏文件描述符以及区域信息,调用该接口即可将Buffer提交到图形队列。
回答了问题
2 月 7 日
OH_NativeWindow_NativeWindowHandleOpt接口的作用是什么,如何使用?
凡事提前
OH_NativeWindow_NativeWindowHandleOpt接口用于设置/获取OHNativeWindow的属性,包括设置/获取宽高、内容格式等。使用时,需传入OHNativeWindow对象、操作代码以及相应的参数,调用该接口即可对OHNativeWindow的属性进行设置或获取
回答了问题
2 月 7 日
使用NativeWindow进行开发的步骤有哪些?
凡事提前
使用NativeWindow进行开发的步骤包括:在CMakeLists.txt中添加libace_ndk.z.so和libnative_window.so;包含必要的头文件;获取OHNativeWindow实例,可通过OH_NativeXComponent_Callback接口获取;定义OH_NativeXComponent_Callback并设置相关回调函数;将OH_NativeXC...
回答了问题
2 月 7 日
如何获取OHNativeWindow实例?
凡事提前
可通过OH_NativeXComponent_Callback接口获取OHNativeWindow。例如在XComponent组件加载时,通过nativeWindowContext获取NativeWindowContext,再在native c++层通过OH_NativeXComponent_GetXComponentId获取XComponent ID,进而获取OHNativeWindow实例。
回答了问题
2 月 7 日
如何设置OHNativeWindowBuffer的属性?
凡事提前
使用OH_NativeWindow_NativeWindowHandleOpt设置OHNativeWindowBuffer的属性。例如,通过传入设置属性的操作代码(如SET_BUFFER_GEOMETRY)、缓冲区宽度和高度等参数,调用该接口即可设置OHNativeWindowBuffer的属性。
回答了问题
2 月 7 日
如何将生产的内容写入OHNativeWindowBuffer?
凡事提前
首先需要进行内存映射mmap,将OHNativeWindowBuffer映射到用户空间。然后等待releaseFenceFd可用(如果releaseFenceFd不为 -1),以确保消费者进程已消费完buffer,生产者可以开始填充buffer内容。之后,通过映射后的地址将生产的内容写入OHNativeWindowBuffer。
回答了问题
2 月 7 日
如何将OHNativeWindowBuffer提交到图形队列?
凡事提前
使用OH_NativeWindow_NativeWindowFlushBuffer接口将OHNativeWindowBuffer提交到图形队列。调用该接口时,需传入OHNativeWindow对象、要提交的Buffer、栅栏文件描述符以及区域信息,将生产好内容的Buffer放回到Buffer队列中,用以内容消费。
回答了问题
2 月 7 日
XComponent组件是什么,有什么作用?
凡事提前
XComponent组件是一种渲染组件,可用于EGL/OpenGLES和媒体数据写入,通过使用其持有的“NativeWindow”渲染画面,满足开发需要实现高级自定义渲染的需求,例如相机预览流的显示和游戏画面的渲染。
回答了问题
2 月 7 日
XComponent组件有哪几种类型,分别有什么特点?
凡事提前
XComponent组件有XComponentType.SURFACE和XComponentType.TEXTURE两种类型。SURFACE类型将定制的绘制内容单独展示到屏幕上,TEXTURE类型将定制的绘制内容和XComponent组件的内容合成后展示到屏幕上。
回答了问题
2 月 7 日
XComponent主要应用于哪些开发场景?
凡事提前
XComponent主要用于两类场景,分别是高性能渲染(如游戏画面、3D图形、复杂动画等)和媒体数据处理(如相机预览、视频播放、图像处理等)。
回答了问题
2 月 7 日
当XComponent传输的绘制内容包含透明元素时会出现什么情况?
凡事提前
当XComponent传输的绘制内容包含透明元素时,Surface区域的显示效果会与下方内容进行合成展示。例如,若传输的内容完全透明,且XComponent的背景色被设置为黑色,同时Surface保持默认的大小与位置,则最终显示的将是一片黑色区域。
回答了问题
2 月 7 日
XComponent的渲染上屏原理是怎样的,包含哪些关键步骤?
凡事提前
XComponent持有一个Surface,开发者能通过调用NativeWindow等接口,申请并提交Buffer至图形队列,以此方式将自绘制内容传送至该Surface,其主体流程如下:应用RequestBuffer获取空闲帧 → 应用生产帧数据 → 应用调用FlushBuffer提交到BufferQueue → 系统渲染侧通过Acq...
回答了问题
2 月 7 日
在HarmonyOS中创建XComponent组件有哪些方式?
凡事提前
目前ArkUI提供了三种UI组件的创建方式,分别是使用ArkTS声明式UI描述创建、使用ArkTS自定义组件节点创建以及使用NDK接口创建。通用UI界面开发场景下,建议使用ArkTS声明式UI描述创建XComponent组件。
回答了问题
2 月 7 日
如何在ArkTS侧管理XComponent持有的Surface生命周期?
凡事提前
可以使用XComponentController管理Surface生命周期。其生命周期的触发时机如下:onSurfaceCreated回调在XComponent创建完成且创建好Surface后触发;onSurfaceChanged回调在Surface大小变化触发重新布局之后触发;onSurfaceDestroyed回调在XComponent组件被销毁时触发...
回答了问题
2 月 7 日
如何在Native侧管理XComponent持有的Surface生命周期?
凡事提前
可以使用OH_ArkUI_SurfaceHolder管理Surface生命周期。其生命周期触发时机如下:OnSurfaceCreated回调在当XComponent创建完成且创建好Surface后,满足组件上树且autoInitialize = true或调用OH_ArkUI_XComponent_Initialize时触发;OnSurfaceChanged回调在OnSurfaceC...
回答了问题
2 月 7 日
XComponent有哪些开发范式,分别是什么情况?
凡事提前
除使用NDK接口创建的XComponent无法在ArkTS侧使用XComponentController来管理Surface生命周期外,目前共有五种XComponent开发范式,分别是通过ArkTS声明式UI描述来创建组件并结合XComponentController实现对Surface生命周期的管理;通过ArkTS声明式UI描述来创建组件...
回答了问题
2 月 7 日
从API version 8开始,使用OH_NativeXComponent和OH_ArkUI_SurfaceHolder管理Surface生命周期有什么主要差异?
凡事提前
组件创建:使用OH_NativeXComponent需要传入id和libraryname属性以支持在Native侧获取对应的OH_NativeXComponent实例;而使用OH_ArkUI_SurfaceHolder管理Surface生命周期的XComponent不再需要在XComponent的构造参数中传入id和libraryname属性,而是直接将组件对应的...
标签得分
暂无数据
获得勋章
暂无数据
声望记录
暂无数据