The invention discloses a data interaction method, device, storage medium and mobile terminal, which are applied to applications developed based on hybrid development mode. The method includes: a native language component creates a sub-thread in the main thread by predefined multi-core programming; and a native language component creates a sub-thread in the sub-thread and a sub-thread in the sub-thread. The scope of interaction of the first predefined language component; the function function written by the first predefined language component is invoked by the scope of the native language component. The native language component of the embodiment of the present invention first creates a sub-thread in the main thread, and then creates a scope to interact with the first predefined language component after creating the sub-thread, and then interacts through the scope. This method is different from the existing technology in the construction mechanism, so it can let the JS method run in sub-threads without affecting the main thread, user operation and user experience.
【技术实现步骤摘要】
一种数据交互方法、装置、存储介质及移动终端
本专利技术涉及数据处理领域,特别是涉及一种数据交互方法、装置、存储介质及移动终端。
技术介绍
本方案应用于移动终端的APP中,在手机的APP中,动态更新及热修复已经成为潮流,而在iOS平台多采用JavaScriptCore(运行环境)来在JS和Native(原生语言组件)之间进行交互,在开发过程中,避免不了的要使用多线程来解决耗时任务。随着业务的不断增多,多线程的需求越来越大,而JS是单线程的,所有的JS方法只能串行执行,对应到JavaScriptCore里,JSContext(作用域)也是在主线程创建,实现过程如图1所示。由于JSContext是在主线程中创建的,Native和JS发生交互也都是在主线程中,调用JS的方法也会在主线程执行,所以,在JS方法(即功能函数)执行耗时操作时,主线程将会被卡住,用户将操作不了界面,用户体验较差。
技术实现思路
本专利技术实施例提供一种数据交互方法、装置、存储介质及移动终端,用以解决现有技术的如下问题:现有Native和JS交互时,如果JS方法执行耗时操作,则主线程将会被卡住,用户将操作不了界面,用户体验较差。为解决上述技术问题,一方面,本专利技术实施例提供一种数据交互方法,应用于基于混合开发模式所开发的应用程序中,包括:原生语言组件通过预定多核编程方式在主线程中创建一个子线程;所述原生语言组件在所述子线程中创建一个与第一预定语言组件交互的作用域;所述原生语言组件通过所述作用域调用通过第一预定语言编写的功能函数。可选的,在所述原生语言组件通过预定多核编程方式在主线程中创建一个子 ...
【技术保护点】
1.一种数据交互方法,应用于基于混合开发模式所开发的应用程序中,其特征在于,包括:原生语言组件通过预定多核编程方式在主线程中创建一个子线程;所述原生语言组件在所述子线程中创建一个与第一预定语言组件交互的作用域;所述原生语言组件通过所述作用域调用通过第一预定语言编写的功能函数。
【技术特征摘要】
1.一种数据交互方法,应用于基于混合开发模式所开发的应用程序中,其特征在于,包括:原生语言组件通过预定多核编程方式在主线程中创建一个子线程;所述原生语言组件在所述子线程中创建一个与第一预定语言组件交互的作用域;所述原生语言组件通过所述作用域调用通过第一预定语言编写的功能函数。2.如权利要求1所述的数据交互方法,其特征在于,在所述原生语言组件通过预定多核编程方式在主线程中创建一个子线程之前,还包括:所述原生语言组件将预定应用程序编程接口分享给所述第一预定语言组件;所述第一预定语言组件通过所述预定应用程序编程接口调用所述原生语言组件的逻辑。3.如权利要求1所述的数据交互方法,其特征在于,所述原生语言组件通过所述作用域调用通过第一预定语言编写的功能函数,包括:所述原生语言组件获取待调用的功能函数的索引,其中,所述功能函数为:在所述混合开发模式下,通过第一预定语言编写的非原生功能函数;所述原生语言组件根据所述功能函数的索引通过所述作用域调用所述功能函数的索引对应的功能函数。4.如权利要求1至3中任一项所述的数据交互方法,其特征在于,所述预定多核编程方式为核心中央调度GCD。5.一种数据交互装置,设置在基于混合开发模式所开发的应用程序中,其特征在于,包括:第一创建模块,用于使用原生语言组件通过预定多核编程方式在主线...
【专利技术属性】
技术研发人员:郭鹏,
申请(专利权)人:北京五八信息技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。