CN112612633A - 进程间通信方法、装置、存储介质以及终端 - Google Patents
进程间通信方法、装置、存储介质以及终端 Download PDFInfo
- Publication number
- CN112612633A CN112612633A CN202110015921.5A CN202110015921A CN112612633A CN 112612633 A CN112612633 A CN 112612633A CN 202110015921 A CN202110015921 A CN 202110015921A CN 112612633 A CN112612633 A CN 112612633A
- Authority
- CN
- China
- Prior art keywords
- interface
- general
- information
- general information
- sdk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例公开了一种进程间通信方法、装置、存储介质以及终端。所述方法包括:第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,然后基于所述通用信息接口获取所述第二进程对应的通用信息,并基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。采用本申请实施例,第一进程可以通过所定义的SDK接口直接调用第二进程的通用信息,以显示或隐藏第二进程,实现进程的路由跳转,提高了进程间通信的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种进程间通信方法、装置、存储介质以及终端。
背景技术
目前,安卓平台下进程间路由和数据共享一般包括两种方案:一是三方进程直接给主进程提供固定跳转路径,在主进程中使用静态的图片和文字作为路由入口显示,当用户触发入口时,主进程使用三方进程提供的固定跳转路径进行路由跳转,以在主进程中显示三方进程;二是基于一套固定三方协议,三方进程对应的服务器动态下发路由路径和入口显示信息至本地存储,主进程从本地存储中读取后进行路由跳转,以在主进程中显示三方进程。直接使用静态的图片和文字显示以提供固定跳转路径,使得丰富度不足,无法满足动态路由跳转的效果。而从服务器动态下发路由路径和入口显示元素实现路由跳转,虽然可以满足动态路由跳转的效果,但每次都需要服务器下发更新数据后主进程再从本地存储中读取,导致流程复杂,进程间通信效率低下。
发明内容
本申请实施例提供了一种进程间通信方法、装置、计算机存储介质以及终端,旨在解决如何提高进程间通信效率低下的技术问题。所述技术方案如下:
第一方面,本申请实施例提供了一种进程间通信方法,所述方法包括:
第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
所述第一进程基于所述通用信息接口获取所述第二进程对应的通用信息;
所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
第二方面,本申请实施例提供了一种进程间通信方法,所述方法包括:
第二进程基于第一进程所定义的通用SDK接口接入所述第一进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
所述第二进程基于所述通用信息接口向所述第一进程提供通用信息,以使所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
第三方面,本申请实施例提供了一种进程间通信装置,所述装置包括:
进程接入模块,用于第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
进程信息获取模块,用于所述第一进程基于所述通用信息接口获取所述第二进程对应的通用信息;
进程展示模块,用于所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
第四方面,本申请实施例提供了一种进程间通信装置,所述装置包括:
第二进程接入模块,用于第二进程基于第一进程所定义的通用SDK接口接入所述第一进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
第二进程信息提供模块,用于所述第二进程基于所述通用信息接口向所述第一进程提供通用信息,以使所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
第五方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第六方面,本申请实施例提供了一种终端,可包括:存储器和处理器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述存储器加载并执行上述的方法步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例的方案在执行时,第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,然后基于所述通用信息接口获取所述第二进程对应的通用信息,并基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。通过本申请的方法,第一进程可以通过所定义的SDK接口直接调用第二进程的通用信息,以显示或隐藏第二进程,实现进程的路由跳转,提高了进程间通信的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种进程间通信方法的流程示意图;
图2是本申请实施例提供的一种进程间通信方法的显示界面示意图;
图3是本申请实施例提供的一种进程间通信方法的显示界面示意图;
图4是本申请实施例提供的一种进程间通信方法的显示界面示意图;
图5是本申请实施例提供的一种进程间通信方法的流程示意图;
图6是本申请实施例提供的一种进程间通信方法的流程示意图;
图7是本申请实施例提供的一种进程间通信装置的结构示意图;
图8是本申请实施例提供的一种进程间通信装置的结构示意图;
图9是本申请实施例提供的终端的结构示意图;
图10是本申请实施例提供的操作系统和用户空间的结构示意图;
图11是图9中安卓操作系统的架构图。
具体实施方式
为使得本申请实施例的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
下面结合具体的实施例对本申请进行说明。
请参见图1,为本申请实施例提供的一种进程间通信方法的流程示意图。为了便于说明,仅以各步骤的执行主体为终端的第一进程进行介绍说明。
如图1所示,本申请实施例的所述方法可以包括以下步骤:
S101,第一进程基于所定义的通用SDK接口确定接入的第二进程,通用SDK接口中包括通用信息接口,第二进程满足预设条件。
其中,进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是程序的一次执行过程,是临时的。第一进程表示在某个应用程序中的一次执行过程,第二进程可以表示与第一进程在同一应用程序中的不同的执行过程,第二进程还可以表示与第一进程不在同一应用程序中的执行过程。
通用SDK接口为android平台下的软件开发工具包,该接口用于接入至少一个第二进程。接口泛指实体把自己提供给外界的一种抽象化物(或者可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。
在本申请实施例中,第一进程的数量为一个,第二进程的数量为至少一个。第一进程预先定义一套通用SDK接口,通用SDK接口中包括通用信息接口。也就是设定提供给第二进程调用的接口函数,定义调用接口的具体实现,并进行接口注册,可以包括:在终端定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。因此,至少一个第二进程可以通过通用信息接口接入第一进程。
S102,第一进程基于通用信息接口获取第二进程对应的通用信息。
其中,通用信息表示第二进程的显示信息和/或隐藏信息,显示信息主要包括第二进程所要展示的显示界面、显示界面上的文字信息或图片信息、显示规则等等,显示规则表示动态显示或静态显示等规则。隐藏信息主要包括第二进程的隐藏时机,隐藏时长等等。隐藏时机表示第一进程在什么情况下要对第二进程进行隐藏。隐藏时长表示第二进程需要被隐藏多长时间。
由于在通用SDK接口中定义了通用信息接口,那么第一进程可以直接基于该通用信息接口调用第二进程对应的通用信息。
S103,第一进程基于通用信息在第一进程中显示或隐藏第二进程。
在一种可能的实施方式中,第一进程根据所获取的各个第二进程的通用信息分别显示各第二进程,作为用户触发第二进程的入口。当然,也可以是在第一进程中隐藏上一时刻所显示的第二进程。
举例来说:可参见如图2所示的显示界面,第一进程为设置进程,在设置进程中包括个性化服务模块,在该模块下有多个进程,进程1为主题进程,进程2为字体进程,进程3为壁纸进程。进程1对应的显示信息是预设的多张图片,进程2对应的显示信息是预设的多种字体类型,进程3对应的显示信息也是多张图片。设置进程在当前时刻对主题进程、字体进程以及壁纸进程进行显示时,当前时刻主题进程显示的是预设的主题1,显示的字体进程是预设的字体2,显示的壁纸进程是预设的壁纸3。而在上一时刻,设置进程对主题进程、字体进程以及壁纸进程进行显示时,显示的主题进程是预设的主题2,显示的字体进程是预设的字体3,显示的壁纸进程是预设的壁纸1。在不同时刻,第一进程可以基于第二进程的通用信息显示不同的第二进程画面,实现动态显示的效果。
在一种可能的实施方式中,第一进程的主页面上显示有多个第二进程的进程入口信息,可以包括:进程1的进程入口信息、进程2的进程入口信息、进程3的进程入口信息以及进程4的进程入口信息等等。用户在第一进程的页面上点击进程1的进程入口按钮时,终端接收到用户的操作指令,指示第一进程基于进程1的进程入口信息在第一进程中对进程1进行显示。在对进程1进行显示时,用户点击进程1上的退回按钮,终端接收到用户执行的操作指令,指示第一进程对进程1进行隐藏。
举例来说:可参见如图3所示的第一进程的展示界面,主题为进程1的进程入口按钮,壁纸为进程3的进程入口按钮,锁屏为进程3的进程入口按钮,铃声为进程4的进程入口按钮。用户点击主题时,进入进程1的展示界面,可参见图4所示的进程1的展示界面,展示界面上有动态主题和静态主题可供用户选择。在用户点击图4上的“返回”按钮时,第一进程对进程1的展示界面进行隐藏,回到如图3所示的第一进程的展示界面。
本申请实施例的方案在执行时,第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,然后基于所述通用信息接口获取所述第二进程对应的通用信息,并基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。通过本申请的方法,第一进程可以通过所定义的SDK接口直接调用第二进程的通用信息,以显示或隐藏第二进程,实现进程的路由跳转。提高了进程间通信的效率。
请参见图5,为本申请实施例提供的一种进程间通信方法的流程示意图。为了便于说明,仅以各步骤的执行主体为终端的第一进程进行介绍说明。
如图5所示,本申请实施例的所述方法可以包括以下步骤:
S501,第一进程继承进程通信组件,基于进程通信组件定义基本模板。
S502,第一进程定义通用信息接口,定义将通用信息接口应用于基本模板的控制器。
S503,第一进程将控制器封装为通用SDK接口。
下面对S501~S503进行解释说明。
其中,进程通信组件表示ContentProvider,为安卓四大组件之一,用于进程间的数据交互和共享。ContentProvider是Android系统中为开发者专门提供的不同应用间进行数据共享的组件,其提供了一套标准的接口用来获取以及操作数据,准许开发者把自己的应用数据根据需求开放给其他应用进行增删改查,而无须担心直接开放数据库权限而带来的安全问题。
在本申请实施例中,第一进程继承ContentProvider,复写ContentProvider中的方法,定义一套基本模板BaseContentProvider,第一进程定义一套通用信息接口函数,还定义一套用于在模板中获取通用信息的控制器,并抽象出通用SDK接口,以供第二进程接入。
S504,第一进程基于所定义的通用SDK接口确定接入的第二进程,通用SDK接口中包括通用信息接口,第二进程满足预设条件。
在一种可能的实施方式中,第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程,第一进程按照各第二进程的优先级顺序,选择优先级排列在前的预设个数的第二进程。优先级是一种约定,对于各个第二进程,分别对应一个优先级的高低,按照各个第二进程的优先级高低对各个第二进程进行排序,选择接入排列在前的预设个数的第二进程。
举例来说:可参见如图3所示终端的设置应用中的显示界面的示意图,第一进程为设置进程,第二进程分别为主题进程、壁纸进程、锁屏进程、声音进程、亮度进程、显示进程以及通知进程等等。上述各个进程的优先级高低顺序为主题进程>壁纸进程>锁屏进程>声音进程>亮度进程>显示进程>通知进程,可以选择接入排列在前的5个第二进程,那么可以选择接入主题进程、壁纸进程、锁屏进程、声音进程以及亮度进程,进而可以提高用户的使用体验。
在一种可能的实施方式中,第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程,第一进程按照各第二进程的历史选择频次,按照各历史选择频次选择排列在前的预设个数的第二进程。历史选择频次表示用户在历史时间段内所选择的各个第二进程的次数。历史时间段可以设置为1个月、2个月、3个月以及6个月等等,本申请实施例对此不作限制。
举例来说:可参见如图3所示终端的设置应用中的显示界面示意图,第一进程为设置进程,第二进程分别为主题进程、壁纸进程、锁屏进程、声音进程、亮度进程、显示进程以及通知进程等等。根据多个用户的历史使用数据可以知道,上述各个进程的历史选择频次由大到小的顺序为主题进程>壁纸进程>锁屏进程>声音进程>亮度进程>显示进程>通知进程,可以选择接入排列在前的5个第二进程,那么可以选择接入主题进程、壁纸进程、锁屏进程、声音进程以及亮度进程,进而可以提高用户的使用体验。
在一种可能的实施方式中,第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程,第一进程在至少一个第二进程中确定被推送的预设个数的第二进程。被推送的第二进程可以是应用开发者想要推广的应用对应的第二进程。
举例来说:可参见如图3所示终端的设置应用中的显示界面示意图,第一进程为设置进程,第二进程分别为主题进程、壁纸进程、锁屏进程、声音进程、亮度进程、显示进程以及通知进程等等。其中,应用开发者想要推广的应用包括主题应用、壁纸应用、锁屏应用、铃声应用等等。那么可以确定5个被推送的第二进程,那么可以选择接入主题应用对应的主题进程、壁纸应用对应的壁纸进程、锁屏应用对应的锁屏进程、铃声应用对应的声音进程以及亮度进程,进而可以提高用户的使用体验。
S505,第一进程对第二进程进行鉴权处理。
在本申请实施例中,第一进程接入第二进程之后,对接入的第二进程进行安全性验证。
S506,第一进程在第二进程鉴权通过后,获取第二进程对应的通用信息。
其中,第二进程对应的通用信息表示第二进程的显示信息或隐藏信息。显示信息表示在第一进程中显示第二进程时,显示界面上的文字信息、图片信息以及显示规则。文字信息表示显示界面上的字体类型、字体大小以及字体颜色等等。显示规则可以表示在对第二进程进行显示时,动态地或静态地展示显示界面的内容。
S507,第一进程基于通用信息在第一进程中显示或隐藏第二进程。
一般的,第一进程对通用信息进行解析,得到通用信息中的进程入口信息和交互方式。进程入口信息主要表示显示入口信息或隐藏入口信息。显示入口信息表示在对第二进程进行显示时,第二进程的显示信息。隐藏入口信息主要表示在对第二进程隐藏时,第二进程需要隐藏的信息。交互方式主要表示第二进程的显示方式或隐藏方式,主要是动态显示或隐藏,以及静态显示或隐藏。
在一种可能的实施方式中,在进程入口信息为显示入口信息时,基于交互方式在第一进程中显示第二进程。可参见如图4所示的第二进程的显示界面的示意图,比如,第二进程是锁屏进程,锁屏进程预先设置的通用信息是动态地显示多个锁屏图片,第一进程在对锁屏进程进行显示时,可以动态地显示锁屏进程中的多张图片。
在一种可能的实施方式中,在进程入口信息为隐藏入口信息时,基于交互方式在第一进程中隐藏第二进程。可参见如图4所示的第二进程的显示界面的示意图,比如,第二进程是锁屏进程,锁屏进程预先设置的通用信息是在隐藏多个锁屏图片时,选择静态隐藏。
本申请实施例的方案在执行时,第一进程继承进程通信组件,基于进程通信组件定义基本模板、定义通用信息接口以及定义将通用信息接口应用于基本模板的控制器,第一进程将控制器封装为通用SDK接口。然后第一进程基于所定义的通用SDK接口确定接入的第二进程,通用SDK接口中包括通用信息接口,第二进程满足预设条件。第一进程对第二进程进行鉴权处理,在第二进程鉴权通过后,获取第二进程对应的通用信息。第一进程基于通用信息在第一进程中显示或隐藏第二进程。通过本申请的方法,第一进程预先定义好用于接入第二进程的通用SDK接口,在接入第二进程之后,第一进程可以直接通过通用SDK接口获取第二进程的通用信息,第二进程事先在通用信息中设置好显示信息、隐藏信息以及交互方式,第一进程直接基于通用信息对第二进程进行显示或隐藏,提高了进程间通信的效率,降低进程间动态路由开发成本。
请参见图6,为本申请实施例提供的一种进程间通信方法的流程示意图。为了便于说明,仅以各步骤的执行主体为终端的第二进程进行介绍说明。
如图6所示,本申请实施例的所述方法可以包括以下步骤:
S601,第二进程基于第一进程所定义的通用SDK接口接入第一进程,通用SDK接口中包括通用信息接口,第二进程满足预设条件。
S602,第二进程基于通用信息接口向第一进程提供通用信息,以使第一进程基于通用信息在第一进程中显示或隐藏第二进程。
下面对S601-S602进行解释说明。
其中,通用SDK接口为android平台下的软件开发工具包,通用信息接口用于接入至少一个第二进程。接口泛指实体把自己提供给外界的一种抽象化物(或者可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。
在本申请实施例中,第一进程的数量为一个,第二进程的数量为至少一个。第一进程预先定义一套通用SDK接口,通用SDK接口中包括通用信息接口。也就是设定提供给第二进程调用的接口函数,定义调用接口的具体实现,并进行接口注册。第二进程实现通用SDK接口,通过实现SDK中模板ContentProvider,配置action,给第一进程提供自己的通用信息,以使第一进程基于通用信息在第一进程中对第二进程显示或隐藏。通用信息主要是第二进程在被显示时的显示信息或被隐藏时的隐藏信息。
本申请实施例的方案在执行时,第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,所述第一进程基于所述通用信息接口获取所述第二进程对应的通用信息,所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。通过本申请的方法,不需要通过服务器或重新发布版本下发新的图片、文字以及跳转路径等,第一进程可以直接对第二进程进行显示或隐藏,提高了进程间通信的效率。
请参见图7,为本申请实施例提供的一种进程间通信装置的结构示意图。该进程间通信装置700可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。装置700包括:
进程接入模块710,用于第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
进程信息获取模块720,用于所述第一进程基于所述通用信息接口获取所述第二进程对应的通用信息;
进程展示模块730,用于所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
可选地,装置700还包括:
第一定义模块,用于所述第一进程继承进程通信组件,基于所述进程通信组件定义基本模板;
第二定义模块,用于所述第一进程定义通用信息接口,定义将所述通用信息接口应用于所述基本模板的控制器;
第三定义模块,用于所述第一进程将所述控制器封装为通用SDK接口。
可选地,进程信息获取模块720包括:
第一获取单元,用于所述第一进程对所述第二进程进行鉴权处理;
第二获取单元,用于所述第一进程在所述第二进程鉴权通过后,获取所述第二进程对应的通用信息。
可选地,进程展示模块730包括:
第一展示模块,用于所述第一进程对所述通用信息解析,确定所述通用信息中的进程入口信息和交互方式;
第一展示模块,用于在所述进程入口信息为显示入口信息时,基于所述交互方式在所述第一进程中显示所述第二进程;
第一展示模块,用于在所述进程入口信息为隐藏入口信息时,基于所述交互方式在所述第一进程中隐藏所述第二进程。
可选地,进程接入模块710包括:
第一接入模块,用于所述第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程;
第二接入模块,用于所述第一进程按照各所述第二进程的优先级顺序,选择优先级排列在前的预设个数的第二进程。
可选地,进程接入模块710包括:
第三接入模块,用于所述第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程;
第四接入模块,用于所述第一进程按照各所述第二进程的历史选择频次,按照各所述历史选择频次选择排列在前的预设个数的第二进程。
可选地,进程接入模块710包括:
第五接入模块,用于所述第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程;
第六接入模块,用于所述第一进程在所述至少一个第二进程中确定被推送的预设个数的第二进程。
本申请实施例的方案在执行时,第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,然后基于所述通用信息接口获取所述第二进程对应的通用信息,并基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。通过本申请的方法,第一进程可以通过所定义的SDK接口直接调用第二进程的通用信息,以显示或隐藏第二进程,实现进程的路由跳转。提高了进程间通信的效率。
请参见图8,为本申请实施例提供的一种进程间通信装置的结构示意图。该进程间通信装置800可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。装置800包括:
第二进程接入模块810,用于第二进程基于第一进程所定义的通用SDK接口接入所述第一进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
第二进程信息提供模块820,用于所述第二进程基于所述通用信息接口向所述第一进程提供通用信息,以使所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
本申请实施例的方案在执行时,第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,然后基于所述通用信息接口获取所述第二进程对应的通用信息,并基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。通过本申请的方法,第一进程可以通过所定义的SDK接口直接调用第二进程的通用信息,以显示或隐藏第二进程,实现进程的路由跳转。提高了进程间通信的效率。
请参见图9,其示出了本申请一个示例性实施例提供的终端的结构方框图。本申请中的终端可以包括一个或多个如下部件:处理器910、存储器920、输入装置930、输出装置940和总线950。处理器910、存储器920、输入装置930和输出装置940之间可以通过总线950连接。
处理器910可以包括一个或者多个处理核心。处理器910利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器920内的指令、程序、代码集或指令集,以及调用存储在存储器920内的数据,执行终端的各种功能和处理数据。可选地,处理器910可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器910可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器910中,单独通过一块通信芯片进行实现。
存储器920可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器920包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器920可用于存储指令、程序、代码、代码集或指令集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统(包括基于Android系统深度开发的系统)或其它系统。存储数据区还可以存储终端在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
参见图10所示,存储器920可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器920中存储的程序和数据如图11所示,存储器920中可存储有Linux内核层1120、系统运行时库层1140、应用框架层1160和应用层1180,其中,Linux内核层1120、系统运行库层1140和应用框架层1160属于操作系统空间,应用层1180属于用户空间。Linux内核层1120为终端的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层1140通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层1140中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层1160提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层1180中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、购物程序等。
其中,输入装置930用于接收输入的指令或数据,输入装置930包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置940用于输出指令或数据,输出装置940包括但不限于显示设备和扬声器等。在一个示例中,输入装置930和输出装置940可以合设,输入装置930和输出装置940为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在终端的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的终端。可选地,各步骤的执行主体为终端的操作系统。操作系统可以是安卓系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的终端,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquidcrystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用终端上的显示设备,来查看显示的文字、图像、视频等信息。所述终端可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图9所示的终端中,处理器910可以用于调用存储器920中存储的应用程序,并具体执行本申请实施例的进程间通信方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种进程间通信方法、装置、存储介质以及终端的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述的方法步骤,具体执行过程可以参见图1和图5所示实施例的具体说明,在此不进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (12)
1.一种进程间通信方法,其特征在于,所述方法包括:
第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
所述第一进程基于所述通用信息接口获取所述第二进程对应的通用信息;
所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
2.根据权利要求1所述的方法,其特征在于,所述第一进程基于所定义的通用SDK接口确定接入的第二进程之前,还包括:
所述第一进程继承进程通信组件,基于所述进程通信组件定义基本模板;
所述第一进程定义通用信息接口,定义将所述通用信息接口应用于所述基本模板的控制器;
所述第一进程将所述控制器封装为通用SDK接口。
3.根据权利要求1所述的方法,其特征在于,所述第一进程基于所述通用信息接口获取所述第二进程对应的通用信息,包括:
所述第一进程对所述第二进程进行鉴权处理;
所述第一进程在所述第二进程鉴权通过后,获取所述第二进程对应的通用信息。
4.根据权利要求1所述的方法,其特征在于,所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程,包括:
所述第一进程对所述通用信息解析,确定所述通用信息中的进程入口信息和交互方式;
在所述进程入口信息为显示入口信息时,基于所述交互方式在所述第一进程中显示所述第二进程;
在所述进程入口信息为隐藏入口信息时,基于所述交互方式在所述第一进程中隐藏所述第二进程。
5.根据权利要求1所述的方法,其特征在于,所述第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,包括:
所述第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程;
所述第一进程按照各所述第二进程的优先级顺序,选择优先级排列在前的预设个数的第二进程。
6.根据权利要求1所述的方法,其特征在于,所述第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,包括:
所述第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程;
所述第一进程按照各所述第二进程的历史选择频次,按照各所述历史选择频次选择排列在前的预设个数的第二进程。
7.根据权利要求1所述的方法,其特征在于,所述第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件,包括:
所述第一进程基于所定义的通用SDK接口查询接入的至少一个第二进程;
所述第一进程在所述至少一个第二进程中确定被推送的预设个数的第二进程。
8.一种进程间通信方法,其特征在于,所述方法包括:
第二进程基于第一进程所定义的通用SDK接口接入所述第一进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
所述第二进程基于所述通用信息接口向所述第一进程提供通用信息,以使所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
9.一种进程间通信装置,其特征在于,所述装置包括:
进程接入模块,用于第一进程基于所定义的通用SDK接口确定接入的第二进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
进程信息获取模块,用于所述第一进程基于所述通用信息接口获取所述第二进程对应的通用信息;
进程展示模块,用于所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
10.一种进程间通信装置,其特征在于,所述装置包括:
第二进程接入模块,用于第二进程基于第一进程所定义的通用SDK接口接入所述第一进程,所述通用SDK接口中包括通用信息接口,所述第二进程满足预设条件;
第二进程信息提供模块,用于所述第二进程基于所述通用信息接口向所述第一进程提供通用信息,以使所述第一进程基于所述通用信息在所述第一进程中显示或隐藏所述第二进程。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~8任意一项的方法步骤。
12.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~8任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110015921.5A CN112612633B (zh) | 2021-01-06 | 2021-01-06 | 进程间通信方法、装置、存储介质以及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110015921.5A CN112612633B (zh) | 2021-01-06 | 2021-01-06 | 进程间通信方法、装置、存储介质以及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112612633A true CN112612633A (zh) | 2021-04-06 |
CN112612633B CN112612633B (zh) | 2023-10-03 |
Family
ID=75253403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110015921.5A Active CN112612633B (zh) | 2021-01-06 | 2021-01-06 | 进程间通信方法、装置、存储介质以及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612633B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356804A (zh) * | 2021-12-28 | 2022-04-15 | 北京奕斯伟计算技术有限公司 | 通信方法、装置、设备、计算机可读存储介质及程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003167715A (ja) * | 2001-11-29 | 2003-06-13 | Ricoh Co Ltd | プロセス間通信履歴表示方法、その方法をコンピュータに実行させるプログラム、画像形成装置および画像形成システム |
KR20070076935A (ko) * | 2006-01-20 | 2007-07-25 | 엔에이치엔(주) | 은닉 프로세스 모니터링 방법 및 모니터링 시스템 |
CN102662738A (zh) * | 2012-03-15 | 2012-09-12 | 奇智软件(北京)有限公司 | 多进程管理方法与装置 |
CN104038657A (zh) * | 2013-03-04 | 2014-09-10 | 株式会社理光 | 信息处理系统、信息处理设备和信息处理方法 |
CN104063218A (zh) * | 2012-03-15 | 2014-09-24 | 北京奇虎科技有限公司 | 针对多个应用的进程的管理方法 |
CN107608744A (zh) * | 2017-09-05 | 2018-01-19 | 珠海格力电器股份有限公司 | 一种应用进程管理方法及其装置、移动终端 |
-
2021
- 2021-01-06 CN CN202110015921.5A patent/CN112612633B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003167715A (ja) * | 2001-11-29 | 2003-06-13 | Ricoh Co Ltd | プロセス間通信履歴表示方法、その方法をコンピュータに実行させるプログラム、画像形成装置および画像形成システム |
KR20070076935A (ko) * | 2006-01-20 | 2007-07-25 | 엔에이치엔(주) | 은닉 프로세스 모니터링 방법 및 모니터링 시스템 |
CN102662738A (zh) * | 2012-03-15 | 2012-09-12 | 奇智软件(北京)有限公司 | 多进程管理方法与装置 |
CN104063218A (zh) * | 2012-03-15 | 2014-09-24 | 北京奇虎科技有限公司 | 针对多个应用的进程的管理方法 |
CN104038657A (zh) * | 2013-03-04 | 2014-09-10 | 株式会社理光 | 信息处理系统、信息处理设备和信息处理方法 |
CN107608744A (zh) * | 2017-09-05 | 2018-01-19 | 珠海格力电器股份有限公司 | 一种应用进程管理方法及其装置、移动终端 |
Non-Patent Citations (2)
Title |
---|
乔向东: "综合数据业务平台业务逻辑执行模块的设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
乔向东: "综合数据业务平台业务逻辑执行模块的设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, 15 November 2013 (2013-11-15), pages 2 - 4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356804A (zh) * | 2021-12-28 | 2022-04-15 | 北京奕斯伟计算技术有限公司 | 通信方法、装置、设备、计算机可读存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112612633B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107889070B (zh) | 图片处理方法、装置、终端及计算机可读存储介质 | |
CN111459586B (zh) | 远程协助方法、装置、存储介质及终端 | |
CN111767554B (zh) | 屏幕分享方法、装置、存储介质及电子设备 | |
CN111124668B (zh) | 内存释放方法、装置、存储介质及终端 | |
CN113268212A (zh) | 投屏方法、装置、存储介质及电子设备 | |
CN112817498A (zh) | 应用权限管理方法、装置、存储介质以及终端 | |
CN110702346B (zh) | 一种振动测试方法、装置、存储介质及终端 | |
CN114186527A (zh) | 一种不依赖于网格点实现集成电路自动布线的方法及装置 | |
CN111913614B (zh) | 多画面显示控制方法、装置、存储介质及显示器 | |
CN110572815A (zh) | 网络访问方法、装置、存储介质及终端 | |
CN111857480B (zh) | 图标对齐方法、装置、存储介质及电子设备 | |
CN117555459A (zh) | 一种应用组处理方法、装置、存储介质及电子设备 | |
CN112612633B (zh) | 进程间通信方法、装置、存储介质以及终端 | |
CN113286349B (zh) | 个人热点连接方法、装置、终端及存储介质 | |
CN113950043B (zh) | 通信方法、装置、存储介质以及终端 | |
CN113312572A (zh) | 一种资源处理方法、装置、存储介质及电子设备 | |
CN111949150B (zh) | 控制外设切换方法、装置、存储介质及电子设备 | |
CN113268414A (zh) | 实验版本的分配方法、装置、存储介质及计算机设备 | |
CN113419650A (zh) | 一种数据移动方法、装置、存储介质及电子设备 | |
CN111859999A (zh) | 消息翻译方法、装置、存储介质及电子设备 | |
CN113114849A (zh) | 闹钟提醒方法、装置、存储介质以及终端 | |
CN111538997A (zh) | 图像处理方法、装置、存储介质以及终端 | |
WO2023273936A1 (zh) | 一种壁纸设置方法、装置、存储介质及电子设备 | |
CN113315687B (zh) | 代理网络管理方法、装置、存储介质以及终端 | |
CN115314588B (zh) | 背景同步方法、装置、终端、设备、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |