预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113687879A(43)申请公布日2021.11.23(21)申请号202110831592.1(22)申请日2021.07.22(71)申请人成都鲁易科技有限公司地址610095四川省成都市中国(四川)自由贸易试验区天府新区兴隆街道湖畔路西段99号附OL-10-202106013(72)发明人向宁潘明田野何世伟(74)专利代理机构北京中强智尚知识产权代理有限公司11448代理人吕梦雪(51)Int.Cl.G06F9/448(2018.01)权利要求书2页说明书7页附图4页(54)发明名称跨平台框架与平台交互库的交互方法及装置(57)摘要本申请公开了一种跨平台框架与平台交互库的交互方法及装置、存储介质、计算机设备,该方法包括:跨平台框架通过C++程序接口预先加载平台交互库;所述跨平台框架的UI线程调用所述C++程序接口,向所述平台交互库传入所述C++程序接口对应的目标C++程序的函数指针;创建新线程,通过所述新线程执行所述目标C++程序,并保存所述UI线程的上下文信息;在所述目标C++程序执行结束后,依据所述UI线程的上下文信息切换至所述UI线程,并依据所述目标C++程序的函数指针进行回调。本申请简化了平台代码交互库与跨平台框架UI之间的相互调用步骤,避免通过双向管道进行调用需要预先搭建双向管道的繁琐操作,更加简单、方便。CN113687879ACN113687879A权利要求书1/2页1.一种跨平台框架与平台交互库的交互方法,其特征在于,包括:跨平台框架通过C++程序接口预先加载平台交互库;所述跨平台框架的UI线程调用所述C++程序接口,向所述平台交互库传入所述C++程序接口对应的目标C++程序的函数指针;创建新线程,通过所述新线程执行所述目标C++程序,并保存所述UI线程的上下文信息;在所述目标C++程序执行结束后,依据所述UI线程的上下文信息切换至所述UI线程,并依据所述目标C++程序的函数指针进行回调。2.根据权利要求1所述的方法,其特征在于,所述创建新线程之前,所述方法还包括:判断所述目标C++程序对应的预设耗时时长是否大于预设时长阈值;若所述目标C++程序对应的预设耗时时长大于所述预设时长阈值,则执行所述创建新线程。3.根据权利要求2所述的方法,其特征在于,所述判断所述目标C++程序对应的预设耗时时长是否大于预设时长阈值之后,所述方法还包括:若所述目标C++程序对应的预设耗时时长小于或等于所述预设时长阈值,则通过所述UI线程执行所述目标C++程序,并保存所述UI线程的上下文信息;在所述目标C++程序执行结束后,保持所述UI线程,并依据所述UI线程的上下文信息以及所述目标C++程序的函数指针进行回调。4.根据权利要求1所述的方法,其特征在于,所述跨平台框架包括flutter框架;所述跨平台框架通过C++程序接口预先加载平台交互库,具体包括:引用ffi库,通过ffi库加载C++程序接口,并通过所述C++程序接口加载所述平台交互库;所述跨平台框架通过ffi库调用所述C++程序接口,以实现通过所述C++程序接口对所述平台交互库的调用。5.根据权利要求4所述的方法,其特征在于,所述目标C++程序包括FileHelper.so文件读取程序;所述创建新线程,通过所述新线程执行所述目标C++程序,并保存所述UI线程的上下文信息,具体包括:所述平台交互库保存所述UI线程的上下文信息;所述平台交互库创建新线程,通过所述新线程执行FileHelper.so读取文件,并将执行结果保存至所述平台交互库中。6.根据权利要求5所述的方法,其特征在于,所述在所述目标C++程序执行结束后,依据所述UI线程的上下文信息切换至所述UI线程,并依据所述目标C++程序的函数指针进行回调,具体包括:在FileHelper.so执行结束后,依据所述UI线程的上下文信息切换至所述UI线程,并依据FileHelper.so的函数指针进行回调,将所述执行结果传输至所述跨平台框架,通过预设方式对所述执行结果进行解析和/或对所述执行结果进行显示。7.一种跨平台框架与平台交互库的交互装置,其特征在于,包括:预加载模块,用于跨平台框架通过C++程序接口预先加载平台交互库;调用模块,用于所述跨平台框架的UI线程调用所述C++程序接口,向所述平台交互库传2CN113687879A权利要求书2/2页入所述C++程序接口对应的目标C++程序的函数指针;执行模块,用于创建新线程,通过所述新线程执行所述目标C++程序,并保存所述UI线程的上下文信息;回调模块,用于在所述目标C++程序执行结束后,依据所述UI线程的上下文信息切换至所述UI线程,并依据所述目标C++程序的函数指针进行回调。8.根据权利要求7所