CN104252389B - 应用程序运行方法、系统 - Google Patents

应用程序运行方法、系统 Download PDF

Info

Publication number
CN104252389B
CN104252389B CN201310263411.5A CN201310263411A CN104252389B CN 104252389 B CN104252389 B CN 104252389B CN 201310263411 A CN201310263411 A CN 201310263411A CN 104252389 B CN104252389 B CN 104252389B
Authority
CN
China
Prior art keywords
foreground
application program
foreground process
background
service assembly
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.)
Active
Application number
CN201310263411.5A
Other languages
English (en)
Other versions
CN104252389A (zh
Inventor
罗锦坚
何聪
林春优
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310263411.5A priority Critical patent/CN104252389B/zh
Publication of CN104252389A publication Critical patent/CN104252389A/zh
Application granted granted Critical
Publication of CN104252389B publication Critical patent/CN104252389B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种应用程序运行方法,包括如下步骤:将应用程序各个进程设置为前台进程或后台进程;将所述前台进程设置在操作系统的前台运行,将所述后台进程设置在操作系统的后台运行;在所述前台进程切换至后台运行后,终止运行所述前台进程,并释放其占用的内存。本发明还提供一种应用程序运行系统和应用程序,通过本发明的技术,可以达到节省内存的目的,提高了内存使用效率,提升了应用程序的运行效率。

Description

应用程序运行方法、系统
技术领域
本发明涉及移动互联网技术,特别是涉及一种应用程序运行方法、系统。
背景技术
移动互联网时代,在新一代移动通信技术推动下,智能终端市场呈现激烈增长趋势,在此过程中,高端智能终端的硬件性能,如CPU运算能力,内存大小等不断增强,但另一方面,随着移动互联网应用产品功能越来越强大,特别是UI效果更加炫目,对智能终端的性能也是提出更高要求。
目前,智能终端上安装的应用程序是越来越多,各种应用程序启用时,由于类似于界面呈现和交互响应等需要消耗较大的内存,如果进程从前台切换至后台没有主动释放对象引用和主动进行垃圾回收(GarbageCollection,GC),应用程序仍将占用较大的内存空间,导致内存消耗大、使用效率低,使得智能终端经常会出现内存不足现象,甚至会导致系统死机或者崩溃。
发明内容
基于此,有必要针对上述内存消耗大、使用效率低的问题,提供一种应用程序运行方法、系统。
一种应用程序运行方法,包括如下步骤:
将应用程序各个进程设置为前台进程或后台进程;
将所述前台进程设置在操作系统的前台运行,将所述后台进程设置在操作系统的后台运行;
在所述前台进程切换至后台运行后,终止运行所述前台进程,并释放其占用的内存。
一种应用程序运行系统,包括:
前后台进程设置模块,用于将应用程序各个进程设置为前台进程或后台进程;
双进程运行模块,用于将所述前台进程设置在操作系统的前台运行,将所述后台进程设置在操作系统的后台运行;
进程切换运行模块,用于在所述前台进程切换至后台运行后,终止运行所述前台进程,并释放其占用的内存。
上述应用程序运行方法和系统,通过将应用程序设置为前后台分离的双线程同时运行的方案,可以将应用程序的部分进程设置为前台进程,将部分进程在后台驻留运行,当前台进程由前台转入后台运行后,及时释放其占用的内存,从而可以达到节省内存的目的,提高了内存使用效率,提升了应用程序的运行效率。
附图说明
图1为一个实施例的应用程序运行方法流程图;
图2为一个实施例的应用程序运行系统结构示意图;
图3为一个应用实例的应用程序架构图。
具体实施方式
下面结合附图对本发明的应用程序运行方法的具体实施方式作详细描述。
参考图1所示,图1为一个实施例的应用程序运行方法流程图,包括如下步骤:
步骤S10:将应用程序各个进程设置为前台进程或后台进程。
步骤S30:将所述前台进程设置在操作系统的前台运行,将所述后台进程设置在操作系统的后台运行。
步骤S50:在所述前台进程切换至后台运行后,终止运行所述前台进程,并释放其占用的内存。
本实施例的应用程序运行方法,通过设置前后台分离的双进程同时运行的方案,将应用程序的部分进程(如UI显示和非驻留逻辑运行)设置为前台进程,在操作系统前台运行,将部分进程(如系统事件监听和驻留逻辑运行)设置在后台驻留运行,当前台进程由前台转入后台运行后,及时释放其占用的内存,从而可以达到节省内存的目的,提高了内存使用效率,提升了程序运行效率。
在一个实施例中,前台进程包括程序界面及其子元素呈现进程、UI控件事件处理进程、非持久运行的数据处理逻辑进程。其中,程序界面及其子元素呈现进程主要包括页面、弹窗或动画等;UI控件事件处理进程主要包括按钮响应、文本输入或列表刷新等;非持久运行的数据处理逻辑进程主要包括临时性文件处理或数据库读写等。
Android系统作为当前主流移动操作系统平台,支持多任务处理,可以同时运行多个应用程序。通过调用系统LowMemoryKiller主动杀死某些进程。其中,LowMemoryKiller是根据进程的优先级来决定是否杀死该进程,其优先级顺序由高到低依次是:FOREGROUD_APP、VISIBLE_APP、SECONDARY_SERVER、HIDDEN_APP、CONTENT_PROVIDER、EMPTY_APP,进程优先级越低,则最有可能先被杀死。
在Android系统中,前台进程主要对应于Activity组件以及各种布局元素实现。前台交互发生时,将前台进程为设为FOREGROUD_APP进程,其优先级最高,系统不会杀死这些进程,当用户选择退出前台操作(如Back键)或者切换至桌面(如Home键),将前台进程优先级降低,可以主动杀死前台进程,或者调用系统的LowMemoryKiller杀死该进程,从而节省内存空间。
对于后台进程,包括系统事件监听进程、持久运行的数据处理逻辑进程。其中,系统事件(Event)监听进程主要包括短信/彩信收发、来电/去电接听与挂断、系统时钟或系统启动/关闭等;持久运行的数据处理逻辑进程主要包括联网流量统计、程序安装/卸载事件或系统权限访问统计等。
在Android系统中,后台进程主要对应于Service组件和Receiver组件。后台进程拥有Service组件,即其至少拥有SECONDARY_SERVER优先级,高于HIDDEN_APP,一般不会被系统杀死,所以应用切换至后台状态后,前台进程可能被杀死,后台进程则会常驻内存,此时后台进程所占用的内存即为整个应用程序占用的内存,通过限制后台进程的逻辑功能,仅保留需要常驻的最小代码集合,保证其内存占用最小,就可以大幅度降低系统,特别是待机状态下的内存消耗。
在一个实施例中,步骤S50还包括:当用户点击应用程序图标时,启动所述应用程序的各个前台进程,并在启动所述前台进程后,发送消息至各个后台进程的Service组件(服务组件)启动对应的后台进程。
在本实施例中,提供了前后台双进程的启动方式,在应用程序安装后,用户点击程序图标触发前台进程启动,在前台进程启动完成后通过发送消息至后台进程的Service组件来启动后台进程。
在一个实施例中,步骤S50在终止运行该前台进程前还包括:维持执行所述前台进程切换时正在处理的逻辑。
在本实施例中,考虑到一些前台进程在切换至后台运行时,该进程所执行的逻辑处理并不能马上被终止,另外也是考虑到用户错误操作而将前台进程切换至后台运行,因此,针对于某些逻辑处理,可以通过维持执行前台进程切换时正在处理的逻辑,在执行完毕后再终止该进程以释放内存,从而保证切换时正在处理的逻辑能够得到安全、合理的处理。
进一步地,上述维持执行所述前台进程切换时正在处理的逻辑的步骤可以包括如下:
若所述前台进程不包含Service组件,则在该前台进程中添加一个设定的Service组件,利用该Service组件执行所述前台进程切换时正在处理的逻辑;若所述前台进程包含Service组件,则利用所述Service组件执行所述前台进程切换时正在处理的逻辑。
例如,在Android系统中,当前台进程切换至后台时,其优先级通常会下降至HIDDEN_APP级别,此时,如果其中没有处于运行状态的Service组件,前台进程将成为系统缓存进程,在内存不足的情况下,系统会优先杀死此类进程。
为了避免前台进程切换至后台后被即刻杀死,可以设置以下处理机制:
(1)若前台进程中没有Service组件,在切换至后台后,由于仍需要延时处理某些逻辑,因此不能将其放入系统缓存进程被终止,则可以为该前台进程添加一个简单(空实现)的Service组件,在延时执行所述逻辑处理完成后,停止该Service组件并将前台进程放入系统缓存进程队列,避免被系统杀死,这样可以保证前台进程数据处理的安全性和一致性。
(2)若前台进程本身已包含Service组件,则在保证数据安全性和一致性的前提下,当所有逻辑处理完成后停止所有的Service组件,让前台进程能够进入缓存进程队列,这样更有利于系统释放进程和回收内存。
在一个实施例中,步骤S50进一步包括:当后台进程进行前台逻辑处理时,将所述前台逻辑处理的消息请求发送至对应的前台进程,利用所述前台进程根据所述消息请求进行所述前台逻辑处理。
具体的,后台进程监听到事件后需要通过某种交互方式提示用户或者触发一个临时性的数据操作,此时,需要后台进程也能执行该前台操作,但为了节省内存,通过上述处理机制,不通过后台进程执行此类逻辑,而是通过进程间通信机制,发送消息至对应的前台进程,并有该前台进程来完成具体的业务操作。
在本实施例中,通过建立上述进程间的通信机制,可以由后台进程发送消息至前台进程,由后者完成具体的业务操作,从而可以节省内存。
例如,在Android系统中,上述进程间的通信机制可以包括两种处理方式:
(1)若所述消息请求为UI显示,则将所述消息请求封装在Intent对象中,发送至对应的前台进程,利用该前台进程调用对应的Activity组件进行UI显示。
具体的,对于需要UI显示的消息处理,使用Android系统的Intent消息传递机制,将消息请求封装在Intent对象中发送至前台进程,由该前台进程调用具体的Activity组件完成显示显示操作。
上述处理方式,避免了直接使用Android系统自带的提供的用于后台UI显示的WindowManager服务,由此可以保证后台进程完全不用处理极耗内存的UI逻辑,从而有效地节省了内存空间。
(2)若所述消息请求为非UI显示,则根据接口定义语言对应的进程间通信接口,根据该进程间通信接口将消息数据传递至对应的前台进程进行处理。
具体的,对于非UI显示的消息处理,使用Android系统提供的轻量级IPC-RPC(RemoteProcedureCall,远程进程调用)来完成,即通过定义AIDL(AndroidInterfaceDefinitionLanguage)接口文件来定义IPC接口,由前台进程实现该接口,后台进程调用该接口的本地代理,将消息数据传递至前台进程进行相应处理。
上述处理方式,利用IPC调用方式,高效且轻量,可以避免在后台进程处理非持久逻辑,特别是临时大数据处理操作带来的内存开销。
在本实施例中,由于引入前、后台双进程运行机制,后台可以仅保留最小集合的驻留代码,当后台进程进行前台逻辑处理(如监听到事件后需要通过交互方式提示用户或者触发一个临时性的数据操作)时,后台进程不直接执行此类逻辑,而是通过进程间通信机制发送消息到前台,调用对应的前台进程完成具体的逻辑处理。通过上述处理方式,可以达到减少后台驻留进程占用内存的目的,提高系统内存使用效率。
在一个实施例中,在所述终止运行所述前台进程时,若用户重新进入该前台进程的程序界面或该前台进程被调用,则重新运行该前台进程。
进一步地,若上述调用的前台进程已被终止,则重新启动所述前台进程并利用该前台进程执行相应的逻辑处理。
例如,在Android系统中,后台进程发起IPC调用时,若对应的前台进程已被终止,则可通过启动Activity组件或Service组件重新拉起前台进程。
在本实施例中,提供了前后台双进程的终止方式,可以更合理地进行进程的切换和终止,从而节省更多内存。
例如,在Android系统中,当用户退出前台操作时,前台进程切换至后台成为缓存进程,此时,为了避免系统直接终止该前台进程导致重复启动操作,可以设定以下合理终止机制:
(1)如果用户重新进入应用界面,则将其优先级设为FOREGROUD_APP进程(优先级最高),使该前台进程重新启动。
(2)如果后台进程发起IPC调用时,可以提高其优先级,将其从系统缓存进程中移除,避免该前台进程被完全终止,如果有UI显示,则将其重新设为FOREGROUD_APP进程,避免被终止。
(3)如果是用户主动终止前台进程或者被系统杀死,则可以直接终止该前台进程以释放更多可用内存。
以上为本发明的应用程序运行方法的实施例,需要声明的是,本发明的应用程序运行方法的各种实施方式,并不限定于上述各实施例中阐述的适应于Android系统中,也可以适用于具有类同性质的操作系统中。
本发明提出的应用程序运行方法,将应用程序分离为前后台两个进程,当系统需要更多内存时,可及时终止内存消耗大的前台进程以获取更多的内存空间,而后台进程能够稳定长时间运行,却极少消耗内存,这样就可以从总体上节省了应用程序和系统的内存空间,并保证了应用程序和系统运行的稳定性和可靠性。
下面结合附图对本发明的应用程序运行系统的具体实施方式作详细描述。
参见图2所示,图2为一个实施例的应用程序运行系统结构示意图,主要包括:
前后台进程设置模块10,用于将应用程序各个进程设置为前台进程或后台进程。
双进程运行模块30,用于将所述前台进程设置在操作系统的前台运行,将所述后台进程设置在操作系统的后台运行。
进程切换运行模块50,用于在所述前台进程切换至后台运行后,终止运行所述前台进程,并释放其占用的内存。
在一个实施例中,所述双进程运行模块30还用于:当用户点击应用程序图标时,启动所述应用程序的各个前台进程,并在启动所述前台进程后,发送消息至各个后台进程的Service组件启动对应的后台进程。
在一个实施例中,所述进程切换运行模块50还用于:维持执行所述前台进程切换时正在处理的逻辑。
进一步地,所述进程切换运行模块50维持执行所述前台进程切换时正在处理的逻辑的方法包括:
若所述前台进程不包含Service组件,则在该前台进程中添加一个设定的Service组件,利用该Service组件执行所述前台进程切换时正在处理的逻辑。
若所述前台进程包含Service组件,则利用所述Service组件执行所述前台进程切换时正在处理的逻辑。
在一个实施例中,所述进程切换运行模块50还用于:当后台进程进行前台逻辑处理时,将所述前台逻辑处理的消息请求发送至对应的前台进程,利用所述前台进程根据所述消息请求进行所述前台逻辑处理。
进一步地,所述进程切换运行模块50在终止运行所述前台进程的过程中,若用户重新进入该前台进程的程序界面或该前台进程被调用,则重新运行该前台进程。
在一个实施例中,,所述进程切换运行模块50还用于:若所述调用的前台进程已被终止,则重新启动所述前台进程并利用该前台进程执行相应的逻辑处理。
进一步地,所述操作系统为Android系统,所述进程切换运行模块50进一步用于:
若所述消息请求为UI显示,则将所述消息请求封装在Intent对象中,发送至对应的前台进程,利用该前台进程调用对应的Activity组件进行UI显示。
若所述消息请求为非UI显示,则根据接口定义语言对应的进程间通信接口,根据该进程间通信接口将消息数据传递至对应的前台进程进行处理。
在一个实施例中,所述前台进程包括:程序界面及其子元素呈现进程、UI控件事件处理进程和/或非持久运行的数据处理逻辑进程。其中,程序界面及其子元素呈现进程主要包括页面、弹窗或动画等;UI控件事件处理进程主要包括按钮响应、文本输入或列表刷新等;非持久运行的数据处理逻辑进程主要包括临时性文件处理或数据库读写等。
在一个实施例中,所述后台进程包括:系统事件监听进程和/或持久运行的数据处理逻辑进程。其中,系统事件(Event)监听进程主要包括短信/彩信收发、来电/去电接听与挂断、系统时钟或系统启动/关闭等;持久运行的数据处理逻辑进程主要包括联网流量统计、程序安装/卸载事件或系统权限访问统计等。
本发明的应用程序运行系统与本发明的应用程序运行方法一一对应,在上述应用程序运行方法的实施例阐述的技术特征及其有益效果均适用于应用程序运行系统的实施例中,特此声明。
下面对本发明的应用程序的具体实施方式作详细描述。
一种应用程序,包括:前台进程集和后台进程集。
所述前台进程集中的前台进程在操作系统前台运行,所述后台进程集中的进程在操作系统后台运行。
当所述前台进程由前台切换至后台运行时,应用程序终止运行该前台进程,并释放其占用的内存。
本发明提供的应用程序,针对于操作系统多进程运行的特性,在程序架构上突破了现有的单进程应用设计,通过将应用程序分离为前台进程和后台进程,可以将占用内存较大的进程在前台运行,而后台仅保留需要常驻的最小代码集合的进程,应用程序由前台进程切换至后台运行后,及时终止运行并释放其占用的内存。从而从总体上节省了应用程序占用的内存空间,提高了内存使用效率,提升了程序运行效率,并保证了应用程序和系统运行的稳定性和可靠性。
进一步地,当所述后台进程进行前台逻辑处理时,所述后台进程将执行所述前台逻辑处理的消息请求发送至对应的前台进程,所述前台进程根据所述消息请求执行相应的逻辑处理。
本实施例中,通过建立上述进程间的通信机制,当应用程序的后台进程监听到事件后,需要进行前台操作时,由后台进程发送消息至对应前台进程,由该前台进程完成具体的业务操作,从而可以节省应用程序所占用的内存。
以上为本发明的应用程序的实施例,需要声明的是,本发明的应用程序的运行过程,可以基于本发明的应用程序运行方法的各种运行方式实施例来实现,特此声明。
参考图3所示,图3为一个应用实例的应用程序架构图,该实例为应用于Android系统(AndroidSystem)的程序架构,应用程序(Application)分为前台进程(Fore-groundProcess)和后台进程(Back-groundProcess)两部分,其中,前台进程主要对应于Activity组件和部分交互的Service组件,后台进程主要对应于Service组件和Receiver组件,后台程序主要是完成系统事件(Event)的监听功能,如短信/彩信收发功能(SMS/MMSservice)、来去电接听与挂断功能(Phoneservice)、系统时钟功能(Timerservice)等,前台进程与后台进程之间采用IPC(intent/RPC)进行通信。
本领域普通技术人员可以理解实现上述实施方式中的全部或部分流程,以及对应的系统,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施方式的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (20)

1.一种应用程序运行方法,其特征在于,包括如下步骤:
将应用程序各个进程设置为前台进程或后台进程;其中,将应用程序的部分进程设置为前台进程,以及将所述应用程序的部分进程设置在后台驻留运行;
将所述前台进程设置在操作系统的前台运行,将所述后台进程设置在操作系统的后台运行;其中,所述前台进程与后台进程分离且双进程同时运行;
在所述前台进程切换至后台运行后,终止运行所述前台进程,并释放其占用的内存。
2.根据权利要求1所述的应用程序运行方法,其特征在于,还包括:
当用户点击应用程序图标时,启动所述应用程序的各个前台进程,并在启动所述前台进程后,发送消息至各个后台进程的Service组件启动对应的后台进程。
3.根据权利要求1所述的应用程序运行方法,其特征在于,在所述终止运行该前台进程的步骤前还包括:维持执行所述前台进程切换时正在处理的逻辑。
4.根据权利要求3所述的应用程序运行方法,其特征在于,所述维持执行所述前台进程切换时正在处理的逻辑的步骤包括:
若所述前台进程不包含Service组件,则在该前台进程中添加一个设定的Service组件,利用该Service组件执行所述前台进程切换时正在处理的逻辑;
若所述前台进程包含Service组件,则利用所述Service组件执行所述前台进程切换时正在处理的逻辑。
5.根据权利要求1所述的应用程序运行方法,其特征在于,还包括:
当后台进程进行前台逻辑处理时,将所述前台逻辑处理的消息请求发送至对应的前台进程,利用所述前台进程根据所述消息请求进行所述前台逻辑处理。
6.根据权利要求5所述的应用程序运行方法,其特征在于,在所述终止运行所述前台进程时,若用户重新进入该前台进程的程序界面或该前台进程被调用,则重新运行该前台进程。
7.根据权利要求6所述的应用程序运行方法,其特征在于,若所述调用的前台进程已被终止,则重新启动所述前台进程并利用该前台进程执行相应的逻辑处理。
8.根据权利要求5所述的应用程序运行方法,其特征在于,所述操作系统为Android系统;
若所述消息请求为UI显示,则将所述消息请求封装在Intent对象中,发送至对应的前台进程,利用该前台进程调用对应的Activity组件进行UI显示;
若所述消息请求为非UI显示,则根据接口定义语言对应的进程间通信接口,根据该进程间通信接口将消息数据传递至对应的前台进程进行处理。
9.根据权利要求1所述的应用程序运行方法,其特征在于,所述前台进程包括:
程序界面及其子元素呈现进程、UI控件事件处理进程和/或非持久运行的数据处理逻辑进程。
10.根据权利要求1所述的应用程序运行方法,其特征在于,所述后台进程包括:
系统事件监听进程和/或持久运行的数据处理逻辑进程。
11.一种应用程序运行系统,其特征在于,包括:
前后台进程设置模块,用于将应用程序各个进程设置为前台进程或后台进程;其中,将应用程序的部分进程设置为前台进程,以及将所述应用程序的部分进程设置在后台驻留运行;
双进程运行模块,用于将所述前台进程设置在操作系统的前台运行,将所述后台进程设置在操作系统的后台运行;其中,所述前台进程与后台进程分离且双进程同时运行;
进程切换运行模块,用于在所述前台进程切换至后台运行后,终止运行所述前台进程,并释放其占用的内存。
12.根据权利要求11所述的应用程序运行系统,其特征在于,所述双进程运行模块还用于:
当用户点击应用程序图标时,启动所述应用程序的各个前台进程,并在启动所述前台进程后,发送消息至各个后台进程的Service组件启动对应的后台进程。
13.根据权利要求11所述的应用程序运行系统,其特征在于,所述进程切换运行模块还用于:维持执行所述前台进程切换时正在处理的逻辑。
14.根据权利要求13所述的应用程序运行系统,其特征在于,所述进程切换运行模块维持执行所述前台进程切换时正在处理的逻辑的方法包括:
若所述前台进程不包含Service组件,则在该前台进程中添加一个设定的Service组件,利用该Service组件执行所述前台进程切换时正在处理的逻辑;
若所述前台进程包含Service组件,则利用所述Service组件执行所述前台进程切换时正在处理的逻辑。
15.根据权利要求11所述的应用程序运行系统,其特征在于,所述进程切换运行模块还用于:
当后台进程进行前台逻辑处理时,将所述前台逻辑处理的消息请求发送至对应的前台进程,利用所述前台进程根据所述消息请求进行所述前台逻辑处理。
16.根据权利要求15所述的应用程序运行系统,其特征在于,所述进程切换运行模块在终止运行所述前台进程的过程中,若用户重新进入该前台进程的程序界面或该前台进程被调用,则重新运行该前台进程。
17.根据权利要求16所述的应用程序运行系统,其特征在于,所述进程切换运行模块还用于:
若所述调用的前台进程已被终止,则重新启动所述前台进程并利用该前台进程执行相应的逻辑处理。
18.根据权利要求15所述的应用程序运行系统,其特征在于,所述操作系统为Android系统;
所述进程切换运行模块进一步用于:
若所述消息请求为UI显示,则将所述消息请求封装在Intent对象中,发送至对应的前台进程,利用该前台进程调用对应的Activity组件进行UI显示;
若所述消息请求为非UI显示,则根据接口定义语言对应的进程间通信接口,根据该进程间通信接口将消息数据传递至对应的前台进程进行处理。
19.根据权利要求11所述的应用程序运行系统,其特征在于,所述前台进程包括:
程序界面及其子元素呈现进程、UI控件事件处理进程和/或非持久运行的数据处理逻辑进程。
20.根据权利要求11所述的应用程序运行系统,其特征在于,所述后台进程包括:
系统事件监听进程和/或持久运行的数据处理逻辑进程。
CN201310263411.5A 2013-06-27 2013-06-27 应用程序运行方法、系统 Active CN104252389B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310263411.5A CN104252389B (zh) 2013-06-27 2013-06-27 应用程序运行方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310263411.5A CN104252389B (zh) 2013-06-27 2013-06-27 应用程序运行方法、系统

Publications (2)

Publication Number Publication Date
CN104252389A CN104252389A (zh) 2014-12-31
CN104252389B true CN104252389B (zh) 2016-04-13

Family

ID=52187323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310263411.5A Active CN104252389B (zh) 2013-06-27 2013-06-27 应用程序运行方法、系统

Country Status (1)

Country Link
CN (1) CN104252389B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050035B (zh) * 2014-05-14 2018-05-25 小米科技有限责任公司 应用程序的处理方法及装置
US9465734B1 (en) * 2015-04-08 2016-10-11 Apple Inc. Coalition based memory management
CN105138402B (zh) * 2015-08-25 2019-02-15 海信集团有限公司 一种应用进程内存释放的优先级调整方法及装置
CN105389203B (zh) 2015-10-19 2017-11-17 广东欧珀移动通信有限公司 一种指纹识别设备的调用方法、装置及移动终端
CN105354095B (zh) * 2015-10-26 2019-07-12 上海斐讯数据通信技术有限公司 服务至活动间的通信方法
CN105653934B (zh) * 2015-12-25 2021-02-26 惠州Tcl移动通信有限公司 移动终端及其应用保护方法
CN105426244B (zh) * 2015-12-30 2019-03-22 Oppo广东移动通信有限公司 应用进程管理方法及应用进程管理装置
CN105808440A (zh) * 2016-03-14 2016-07-27 腾讯科技(深圳)有限公司 应用程序的低内存测试方法、装置和系统
CN105893134A (zh) * 2016-04-20 2016-08-24 联想(北京)有限公司 一种信息处理方法及电子设备
CN106055406A (zh) * 2016-05-20 2016-10-26 深圳天珑无线科技有限公司 一种程序运行的方法和终端
CN106126392A (zh) * 2016-06-30 2016-11-16 乐视控股(北京)有限公司 一种前后台应用程序的判断方法及装置
CN107807847B (zh) * 2016-09-09 2022-04-29 华为技术有限公司 应用进程的管理方法和终端设备
CN106528206A (zh) * 2016-10-12 2017-03-22 北京奇虎科技有限公司 应用的启动控制方法、装置和加固应用安装包的装置
CN107133031B (zh) * 2017-03-31 2021-01-01 武汉斗鱼网络科技有限公司 信息显示方法及装置
CN107085491A (zh) * 2017-03-31 2017-08-22 北京潘达互娱科技有限公司 托盘程序运行方法及装置
WO2018227355A1 (zh) * 2017-06-13 2018-12-20 上海传英信息技术有限公司 一种智能终端的应用程序管理系统及管理方法
CN109891390B (zh) * 2017-08-11 2021-12-14 华为技术有限公司 一种应用切换方法及装置
CN110018904A (zh) * 2018-01-10 2019-07-16 广东欧珀移动通信有限公司 信息处理方法、装置、计算机设备和计算机可读存储介质
CN109274724A (zh) * 2018-08-30 2019-01-25 上海艾融软件股份有限公司 一种前后端分离架构的实现系统及方法
CN109358955A (zh) * 2018-09-27 2019-02-19 联想(北京)有限公司 进程管理方法和装置
CN109783223A (zh) * 2018-11-26 2019-05-21 努比亚技术有限公司 一种内存清理方法、终端及计算机可读存储介质
CN109726076B (zh) * 2018-12-03 2023-01-06 百度在线网络技术(北京)有限公司 一种小程序生命周期管理方法和系统
CN109815017A (zh) * 2019-01-18 2019-05-28 北京城市网邻信息技术有限公司 释放图形处理器资源的方法、系统、终端和存储介质
CN109857502A (zh) * 2019-01-24 2019-06-07 苏州思必驰信息科技有限公司 实现业务逻辑与显示分离的方法及业务逻辑与显示分离的系统架构
CN110795172B (zh) * 2019-10-22 2023-08-29 RealMe重庆移动通信有限公司 前台进程控制方法、装置、电子设备以及存储介质
CN111221650A (zh) * 2019-12-31 2020-06-02 青岛海尔科技有限公司 基于进程类型关联的系统资源回收方法及装置
CN115525404B (zh) * 2022-02-22 2023-09-19 荣耀终端有限公司 释放内存的方法、设备和存储介质
CN116661985B (zh) * 2022-10-25 2024-05-14 荣耀终端有限公司 一种垃圾回收的守护线程的管理方法、装置及电子设备
CN115408164A (zh) * 2022-11-01 2022-11-29 南京翼辉爱智物联技术有限公司 应用程序管理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298538A (zh) * 2010-04-07 2011-12-28 苹果公司 机会性的多任务处理
CN102981906A (zh) * 2012-11-16 2013-03-20 广东欧珀移动通信有限公司 一种应用程序后台进程管理方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298538A (zh) * 2010-04-07 2011-12-28 苹果公司 机会性的多任务处理
CN102981906A (zh) * 2012-11-16 2013-03-20 广东欧珀移动通信有限公司 一种应用程序后台进程管理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Android内存机制有玄机";王健;《电脑爱好者》;20121231;第45页 *

Also Published As

Publication number Publication date
CN104252389A (zh) 2014-12-31

Similar Documents

Publication Publication Date Title
CN104252389B (zh) 应用程序运行方法、系统
CN103425225B (zh) 便携数据设备操作系统中的应用程序装置及其运行方法
CN107783803B (zh) 智能终端的系统优化方法、装置、存储介质及智能终端
JP6286555B2 (ja) 情報をプッシュするための方法、端末、およびシステム
CN106648849A (zh) 进程的冷冻方法和移动终端
CN103324500A (zh) 一种回收内存的方法及装置
WO2017211226A1 (zh) 展示媒体文件的方法、终端和存储介质
WO2014012481A1 (en) Terminal device and method for operating the same
CN105677477A (zh) 一种优化应用程序资源的方法、装置及电子设备
US20190108076A1 (en) Broadcast Control Method And Apparatus, And Terminal
US20160044157A1 (en) Method for managing data traffic of software and portable electronic apparatus using the same
WO2016115762A1 (zh) 一种多操作系统的省电模式控制方法、装置和终端
CN111488207B (zh) 应用进程保活方法、装置、网络设备及存储介质
CN107391274A (zh) 离线消息的处理方法及装置
CN110691401B (zh) 一种系统应用的管理方法及装置
CN112114965A (zh) 应用程序的运行方法、装置、终端及存储介质
TWI407765B (zh) 行動裝置、省電方法及電腦可執行媒體
CN110018911B (zh) 进程管理及进程间通信方法、装置、计算设备及存储介质
WO2016115761A1 (zh) 一种多系统终端的省电方法及装置
EP2867790B1 (en) Systems and methods for automatic modification of device configuration values
CN113805954B (zh) 屏保显示方法、电子设备以及计算机存储介质
CN115587049A (zh) 内存回收方法、装置、电子设备及存储介质
CN115017004A (zh) 进程监控方法及电子设备
CN107436674A (zh) 终端控制方法、装置及非临时性计算机可读介质
CN111381662A (zh) 省电控制方法、控制设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190807

Address after: 518000 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right