一种数据处理方法及电子设备与流程

文档序号:36291251发布日期:2023-12-07 02:57阅读:23来源:国知局
一种数据处理方法及电子设备与流程

本申请涉及终端,尤其涉及一种数据处理方法及电子设备。


背景技术:

1、操作系统(operating system,简称os)是管理计算机硬件与软件资源的计算机程序,用于处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。通常情况下,不同操作系统所擅长的领域不同,即不同操作系统的生态设计环境有所偏向。以android系统为例,通常仅支持剪影、美图等轻量级设计软件,对于代码编辑器(vscode)、java集成开发工具(intellij idea)、三维图形图像软件(blender)、计算机辅助设计软件(computer aided design,cad)等更加专业的设计软件的支持效果不佳。因此,操作系统的生态设计环境丰富程度尚需提升。

2、为了解决这一技术问题,丰富操作系统的生态设计环境,一方面可以针对某一操作系统开发合适的应用软件,但是软件开发耗时较久,且软件稳定性还需要不断测试与维护,导致时间成本过高。另一方面,可以通过使某一操作系统兼容另一操作系统以支持另一操作系统的应用软件,来丰富操作系统的生态设计环境。但使用这一方式的操作系统在显示图形数据时,通常需要网络协议来传输待显示的图形数据后再做显示,在网络传输带宽的影响下,图形数据显示效果会有一定程度的降低。


技术实现思路

1、本申请提供了一种数据处理方法、电子设备、计算机可读存储介质、计算机程序产品及芯片系统,能够在实现第一操作系统兼容第二操作系统的应用的同时,不需要网络协议来传输待显示的图形数据,以实现第一操作系统生态设计环境丰富度的提升,以及显示图形数据时显示效果的提升。

2、第一方面,本申请提供一种数据处理方法。该方法可以应用于电子设备。该电子设备上可以搭载有第一软件系统和第二软件系统。第二软件系统基于第一软件系统运行,第二软件系统中安装有第一应用,第一软件系统的显示桌面上显示有第一应用的第一桌面图标。该方法包括:响应于第一操作,通过第一软件系统通知第二软件系统启动第一应用,第一操作为在第一软件系统的显示桌面上触发第一桌面图标的操作;通过第二软件系统为第一应用分配第一内存,第一内存为第一应用对其所需显示的第一界面中的各个图层进行渲染所需的内存;通过第二软件系统将第一内存的第一句柄传输至第一软件系统;在第一应用对第一界面中的各个图层渲染完成后,通过第一软件系统并基于第一句柄从第一内存中读取渲染后的第一图层数据;通过第一软件系统对第一图层数据进行合成,以得到第一界面;在第一软件系统所显示的第一窗口中显示第一界面,第一窗口为在第一系统中用于显示第一应用的界面的窗口。

3、这样,在第一软件系统中启动第二软件系统中的应用时,第一软件系统可以直接读取到第二软件系统中第一应用已渲染的图层,并对渲染后的图层进行合成和显示,从而可以不使用网络协议传递图层数据,而是直接通过第一应用侧申请的内存句柄进行传递,避免了网络传输带宽的影响,提升了显示图形数据时的显示效果。

4、在一种可能的实现方式中,第一软件系统为安卓系统,第二软件系统为linux系统,第一应用为linux应用。

5、在一种可能的实现方式中,通过第二软件系统将第一内存的第一句柄传输至第一软件系统,具体包括:通过第二软件系统中的合成器compositor将第一句柄发送至第一软件系统中的应用活动app activity;其中,app activity由第一软件系统中的代理安卓应用程序包apk创建,且与第一应用相关联。由此以使得第一软件系统获知到第二软件系统为第一应用分配的内存地址。

6、在一种可能的实现方式中,通过第一软件系统并基于第一句柄从第一内存中读取渲染后的第一图层数据之前,该方法还包括:compositor获取第一应用发送的第一消息,第一消息用于指示第一内存可进行图层合成;compositor向app activity发送第二消息,第二消息至少用于指示app activity对第一图层数据进行合成。由此以使得第一软件系统可以获知到到对图层数据进行合成的时机,进而在特定的时刻读取第一内存中的图层数据,避免频繁读取第一内存中的数据。

7、在一种可能的实现方式中,通过第一软件系统并基于第一句柄从第一内存中读取渲染后的第一图层数据,具体包括:app activity将第一句柄转换为第一指针;appactivity基于第一指针,从第一内存中读取第一图层数据。

8、在一种可能的实现方式中,通过第一软件系统对目标图层数据进行合成,具体包括:app activity对第一图层数据进行格式转换,以得到第二图层数据;app activity将第二图层数据发送至第一软件系统中的系统服务surface flinger;surface flinger对第二图层数据进行合成,得到第一界面。

9、在一种可能的实现方式中,该方法还可以包括:当第一应用需要显示第二界面时,通过第二软件系统为第一应用分配第二内存,第二内存为第一应用对第二界面中的各个图层进行渲染所需的内存;通过第二软件系统将第二内存的第二句柄传输至第一软件系统;在第一应用对第二界面中的各个图层均渲染完成后,通过第二软件系统并基于第二句柄从第二内存中读取渲染后的第三图层数据;通过第一软件系统对第三图层数据进行合成,以得到第二界面;通过第一软件系统将第一窗口中的第一界面替换为第二界面。由此以使得在第一软件系统中完成第一应用的界面切换。

10、第二方面,本申请提供一种电子设备,包括:处理器,处理器用于运行存储器中存储的计算机程序,以使得电子设备实现第一方面或第一方面的任一种可能的实现方式所描述的方法。

11、第三方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现第一方面或第一方面的任一种可能的实现方式所描述的方法。

12、第四方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备实现第一方面或第一方面的任一种可能的实现方式所描述的方法。

13、第五方面,本申请提供一种芯片,包括至少一个处理器和接口;至少一个处理器通过接口获取程序指令或者数据;至少一个处理器用于执行程序行指令,以实现第一方面或第一方面的任一种可能的实现方式所描述的方法。

14、可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。



技术特征:

1.一种数据处理方法,其特征在于,应用于电子设备,所述电子设备搭载第一软件系统和第二软件系统,所述第二软件系统基于所述第一软件系统运行,所述第二软件系统中安装有第一应用,所述第一软件系统的显示桌面上显示有所述第一应用的第一桌面图标;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一软件系统为安卓系统,所述第二软件系统为linux系统,所述第一应用为linux应用。

3.根据权利要求1或2所述的方法,其特征在于,所述通过所述第二软件系统将所述第一内存的第一句柄传输至所述第一软件系统,具体包括:

4.根据权利要求3所述的方法,其特征在于,所述通过所述第一软件系统并基于所述第一句柄从所述第一内存中读取渲染后的第一图层数据之前,所述方法还包括:

5.根据权利要求3或4所述的方法,其特征在于,所述通过所述第一软件系统并基于所述第一句柄从所述第一内存中读取渲染后的第一图层数据,具体包括:

6.根据权利要求3-5任一所述的方法,其特征在于,所述通过所述第一软件系统对所述目标图层数据进行合成,具体包括:

7.根据权利要求1-6任一所述的方法,其特征在于,所述方法还包括:

8.一种电子设备,其特征在于,包括:处理器,所述处理器用于运行存储器中存储的计算机程序,以使得所述电子设备实现如权利要求1-7任一所述的方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一所述的方法。

10.一种计算机程序产品,其特征在于,当计算机程序产品在电子设备上运行时,使得所述电子设备实现如权利要求1-7任一所述的方法。

11.一种芯片,其特征在于,包括至少一个处理器和接口;


技术总结
一种数据处理方法,应用于搭载有包括两个软件系统的电子设备。该方法包括:响应于第一操作,通过第一软件系统通知第二软件系统启动第一应用,第一操作为在第一软件系统的显示桌面上触发第一桌面图标的操作;通过第二软件系统为第一应用分配第一内存;通过第二软件系统将第一内存的第一句柄传输至第一软件系统;在第一应用对第一界面中的各个图层渲染完成后,通过第一软件系统并基于第一句柄从第一内存中读取渲染后的第一图层数据;通过第一软件系统对第一图层数据进行合成,以得到第一界面;在第一软件系统所显示的第一窗口中显示第一界面。由此在双软件系统中可以不使用网络协议来传输待显示的图形数据,提升了图像数据的显示效果。

技术研发人员:张雄,王璞,虞洋
受保护的技术使用者:华为技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1