The embodiment of the invention discloses a communication method and a device between the JS module and the Java module. Among them, the method includes: when the application is needed to implement a function by calling the Java interface through the JS module, the communication device between the JS module and the Java module can find the target Java object from the Java module through the Java object that is pre injected in the JavaScript engine of the JS module, and determines the Java module when the target Java object is found. There is a target method that corresponds to the target Java object, and the target method is invoked by the JavaScript engine to perform the operation of the target method for the target Java object. Through the embodiment of the invention, the communication between the JS module and the Java module is not needed through the network view, which can reduce the memory occupancy of the terminal, improve the communication efficiency and improve the performance of the application.
【技术实现步骤摘要】
一种JS模块与Java模块之间的通信方法及装置
本专利技术涉及计算机
,具体涉及一种JS模块与Java模块之间的通信方法及装置。
技术介绍
随着终端技术的不断发展,智能手机、平板电脑等终端可以安装越来越多的应用,以丰富人们的生活,如今已成为人们工作和生活中不可缺少的电子设备。目前的安卓设备上,应用中的JavaScript与Java的通信需要通过网络视图WebView来实现。但是,WebView主要功能是用来显示页面的,在某些不需要打开页面的场景中,如果通过WebView实现JavaScript与Java之间的通信,会增加终端内存的占用。同时,在页面比较繁忙的情况下,采用这种方式会降低JavaScript与Java的通信效率,从而降低应用的运行性能。
技术实现思路
本专利技术实施例公开了一种JS模块与Java模块之间的通信方法及装置,能够减少终端内存的占用,提高JavaScript与Java之间的通信效率,从而提高应用的运行性能。第一方面,本专利技术实施例公开了一种JS模块与Java模块之间的通信方法,该方法可以包括:通过JS模块的JavaScript引擎中预先注入的Java对象,从Java模块中查找目标Java对象;当查找到所述目标Java对象时,确定所述Java模块中存在与所述目标Java对象对应的目标方法;通过所述JavaScript引擎调用所述目标方法对所述目标Java对象执行所述目标方法对应的操作。第二方面,本专利技术实施例公开了一种通信装置,该装置可以包括:查找单元,用于通过JS模块的JavaScript引擎中预先注入的Java对象,从Java ...
【技术保护点】
1.一种JS模块与Java模块之间的通信方法,其特征在于,所述方法包括:通过JS模块的JavaScript引擎中预先注入的Java对象,从Java模块中查找目标Java对象;当查找到所述目标Java对象时,确定所述Java模块中存在与所述目标Java对象对应的目标方法;通过所述JavaScript引擎调用所述目标方法对所述目标Java对象执行所述目标方法对应的操作。
【技术特征摘要】
1.一种JS模块与Java模块之间的通信方法,其特征在于,所述方法包括:通过JS模块的JavaScript引擎中预先注入的Java对象,从Java模块中查找目标Java对象;当查找到所述目标Java对象时,确定所述Java模块中存在与所述目标Java对象对应的目标方法;通过所述JavaScript引擎调用所述目标方法对所述目标Java对象执行所述目标方法对应的操作。2.根据权利要求1所述的方法,其特征在于,所述通过JS模块的JavaScript引擎中预先注入的Java对象,从Java模块中查找目标Java对象之前,所述方法还包括:检测当前的运行环境,确定所述当前的运行环境不为页面运行环境,并执行所述通过JS模块的JavaScript引擎中预先注入的Java对象,从Java模块中查找目标Java对象的操作。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定所述当前的运行环境为所述页面运行环境,并获取所述页面运行环境中页面的运行状态;当所述页面的运行状态为预设状态时,通过网络视图中预先注入的Java对象,从Java模块中查找目标Java对象;当查找到所述目标Java对象时,确定所述Java模块中存在与所述目标Java对象对应的目标方法;通过所述网络视图调用所述目标方法对所述目标Java对象执行所述目标方法对应的操作。4.根据权利要求1~3任一项所述的方法,其特征在于,所述通过JS模块的JavaScript引擎中预先注入的Java对象,从Java模块中查找目标Java对象之前,所述方法还包括:接收第三方应用的Java对象注入请求,并根据所述注入请求将所述Java对象注入到JavaScript引擎中。5.根据权利要求1~3任一项所述的方法,其特征在于,所述通过JS模块的JavaScript引擎中预先注入的Java对象,从Java模块中查找目标Java对象,包括:当接收到第三方应用的调用请求时,通过JS模块的JavaScript引擎中预先注入的Java对象,从Java模块中查找与所述调用请求对应的目标Java对象;所述方法还包括:当查找到所述目标Java对象时,确定所述Java模块中不存在与所述目标Java对象对应的目标方法,并向所述第三方应用返回调用错误的指示。6.一种JS模块与Java模块之间的通信...
【专利技术属性】
技术研发人员:王勇,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。