CN115562826A - 一种车机***进程冻结及解冻方法和*** - Google Patents
一种车机***进程冻结及解冻方法和*** Download PDFInfo
- Publication number
- CN115562826A CN115562826A CN202211177191.XA CN202211177191A CN115562826A CN 115562826 A CN115562826 A CN 115562826A CN 202211177191 A CN202211177191 A CN 202211177191A CN 115562826 A CN115562826 A CN 115562826A
- Authority
- CN
- China
- Prior art keywords
- freezing
- state
- unfreezing
- current
- application
- 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.)
- Pending
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/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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种车机***进程冻结及解冻方法和***,包括:获取车机***的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。可避免进程冷启动,加快进程启动速度,减少***或应用卡顿。
Description
技术领域
本申请涉及领域,尤其涉及一种车机***进程冻结及解冻方法和***。
背景技术
随着汽车车载智能终端的发展,在终端中配置的产品也越来越丰富。应用从被退到后台到被清理这段时间会持续消耗中央处理器等资源,造成车机卡顿,影响用户体验。
就现有已知方法中,主机厂采用原始安卓管理方案,未提出新的解决方案,应用从被退到后台到被清理这段时间会持续消耗中央处理器等资源,息屏下对应用进行断网处理,但也会不断尝试联网。从而造成比较严重性能消耗和功耗问题。进程冷启动时间较长,冷启动后无法回到之前的界面,用户体检较差。
现有方法中也公开了通过将冻结控制线程放在应用进程中,使应用进程独立管理冻结和解冻操作,不会影响整个设备***的稳定性,提升了用户体验。或者在扩展移动终端的内存量的基础上,尽量保持预设虚拟内存对应的外部存储卡的寿命。但是,以上方法无法满足车载产品的实际应用需求,难以解决车机在使用过程中应用卡顿、车机***卡顿的问题。
发明内容
鉴于以上现有技术存在的问题,本申请提出一种车机***进程冻结及解冻方法和***,主要解决车机***使用过程中应用卡顿或***卡顿的问题。
为了实现上述目的及其他目的,本申请采用的技术方案如下。
本申请提供一种车机***进程冻结及解冻方法,包括:
获取车机***的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;
将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
在本申请一实施例中,根据所述进程状态变化信息记录对应进程状态之前,还包括:
将状态变化的进程与预设***进程表中的进程进行比对,若所述状态变化的进程在所述预设***进程表内,则不记录对应进程状态;
若状态变化的进程在所述预设***进程表内,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
在本申请一实施例中,根据所述进程状态变化信息记录对应进程状态之前,还包括:
获取启动所述状态变化的进程的应用,将所述应用于预设应用白名单进行比对;
若所述应用在所述预设应用白名单中,则不记录对应进程状态;
若所述应用在所述预设应用白名单中,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
在本申请一实施例中,对对应进程进行冻结之后,还包括:
根据车机***中需求分类对***和应用通讯进行拦截,包括:
对通讯优先级低于预设通讯优先级的应用进行拦截;以及,
对已冻结且通讯优先级高于预设通讯优先级的应用进行解冻。
在本申请一实施例中,所述冻结策略包括:
若当前进程不存在关联进程,则直接进行进程冻结,若当前进程存在关联进程,检测关联进程的冻结状态,在关联进程均处于冻结状态时,对当前进程进行冻结,否则,不冻结当前进程;
若当前进程为声音类进程,在预设时间内多次未检测到声音,则对当前进程进行冻结,反之,则不冻结当前进程;
若当前进程为长连接类进程,检测到当前进程在预设的长连接报名单中且当前有长连接,则不冻结当前进程,反之,则冻结当前进程;
若当前进程为流量类进程,检测到当前进程没有流量数据或连词检测时流量相同,则冻结当前进程,反之,则不冻结当前进程。
在本申请一实施例中,所述冻结策略,包括:
若当前进程已终止,则解冻当前进程;
若当前进程的进程号小于0,或者,车机***亮屏且所述当前进程在前台,则解冻当前进程;
若车机***亮屏且有可见窗口,则解冻当前进程;
若车机***亮屏且有屏幕桌面小组件时,则解冻当前进程。
本申请还提供一种车机***进程冻结及解冻***,包括:
状态记录模块,用于获取车机***的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;
进程管理模块,用于将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
如上所述,本申请一种车机***进程冻结及解冻方法和***,具有以下有益效果。
本申请通过获取车机***的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。本申请根据进程变换状态进行冻结和解冻,避免进程冷启动,保证进程快速启动的同时不增加额外的功耗,有效防止应用或***卡顿。
附图说明
图1为本申请一实施例中车机***冻结及解冻方法的流程示意图。
图2为本申请一实施例中车机***应用需求分类的示意图。
图3为本申请一实施例中车机***冻结及解冻***的模块图。
图4为本申请一实施例中车机***冻结及解冻***的框架示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1,本申请提供一种车机***冻结及解冻方法,该方法包括以下步骤。
步骤S100,获取车机***的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态。
在一实施例中,当车机***中有进程状况发生了改变立即通知冻结中控,冻结中控记录当前车机***中除***进程和白名单应用的进程外进程状况信息。
在一实施例中,根据所述进程状态变化信息记录对应进程状态之前,还包括以下步骤:将状态变化的进程与预设***进程表中的进程进行比对,若所述状态变化的进程在所述预设***进程表内,则不记录对应进程状态;若状态变化的进程在所述预设***进程表内,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
根据所述进程状态变化信息记录对应进程状态之前,还包括以下步骤:获取启动所述状态变化的进程的应用,将所述应用于预设应用白名单进行比对;若所述应用在所述预设应用白名单中,则不记录对应进程状态;若所述应用在所述预设应用白名单中,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
排除***进程或者白名单应用对应的进程,对其他进程进行冻结和解冻操作。
步骤S200,将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
在一实施例中,冻结策略包括:
若当前进程不存在关联进程,则直接进行进程冻结,若当前进程存在关联进程,检测关联进程的冻结状态,在关联进程均处于冻结状态时,对当前进程进行冻结,否则,不冻结当前进程。具体地,进程冻结的关联策略类:若不存在关联进程,直接返回正确,若存在关联进程,有一个进程未被冻,则该进程也不会冻,返回错误。关联进程冻一起冻,不冻一起不冻。
若当前进程为声音类进程,在预设时间内多次未检测到声音,则对当前进程进行冻结,反之,则不冻结当前进程;具体地,进程冻结音乐策略类:至少30秒的两次检测没有声音,则返回正确,反之返回错误。
若当前进程为长连接类进程,检测到当前进程在预设的长连接报名单中且当前有长连接,则不冻结当前进程,反之,则冻结当前进程。具体地,进程冻结面向连接协议的长连接策略类:若该进程在长连接白名单内且当前有长连接,返回错误,其他返回正确。
若当前进程为流量类进程,检测到当前进程没有流量数据或连词检测时流量相同,则冻结当前进程,反之,则不冻结当前进程。具体地,进程冻结流量策略类:若该应用没有流量数据或两次检测时流量相同,返回正确;若两次检测间隔超过1分钟且流量不超200Kb字节流,返回正确。其他情况返回错误。
在一实施例中,冻结策略,包括:
若当前进程已终止,则解冻当前进程。具体地,不冻结终止进程的策略类:若进程已终止,返回正确。
若当前进程的进程号小于0,或者,车机***亮屏且所述当前进程在前台,则解冻当前进程。具体地,进程解冻进程号策略类:如果进程的进程号小于0返回正确,若***亮屏且该进程在前台,返回正确,其他情况返回错误。
若车机***亮屏且有可见窗口,则解冻当前进程。具体地,进程解冻窗口策略类:若亮屏状态下且有可见的窗口,则解冻返回正确,其他返回错误。
若车机***亮屏且有屏幕桌面小组件时,则解冻当前进程。具体地,进程冻结桌面小组件策略类:亮屏并且有桌面小组件时返回正确,其他返回错误。
在一实施例中,对对应进程进行冻结之后,还包括:根据车机***中需求分类对***和应用通讯进行拦截,包括:对通讯优先级低于预设通讯优先级的应用进行拦截;以及,对已冻结且通讯优先级高于预设通讯优先级的应用进行解冻。
当一个应用冻住了,框架层中需要拦截对冻住的应用进行binder通信,比如启动冻结的应用、广播通信等等,如果不进行拦截,大量冻结的应用频繁解冻,导致管控不住功耗的问题。
请参阅图2,图2为本申请一实施例中车机***应用需求分类的示意图。车机***中需要分类对***和应用通讯进行拦截操作。
其中需要对通话相关、通知栏点击、启动界面、应用点到点通讯是比较重要的通讯,需要对其进行放行,并且自动解冻已冻结的应用。其他模块如启动服务、无线网络变化、传感器、定时器等需要对其进行拦截操作。
请参阅图3,图3为本申请一实施例中车机***冻结及解冻***的模块图。本申请提供的车机***冻结及解冻***,包括:状态记录模块10,用于获取车机***的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;进程管理模块11,用于将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
请参阅图4,图4为本申请一实施例中车机***冻结及解冻***的框架示意图。由图4可知,冻结中控是进程冻结的控制中枢,主要功能是检查所有进程状况,是否符合制定的冻结策略和解冻策略,并执行相应的操作。
当车机***中有进程状况发生了改变立即通知冻结中控,冻结中控记录当前车机***中除***进程和白名单应用的进程外进程状况信息;计算每个进程是否符合所有的冻结策略,是否符合任一项解冻策略;进程冻结是由冻结中控回调***框架活动管理服务中的方法,并根据活动管理服务的要求远程调用服务端的方法,在进程通信过程中调用底层方法将该进程冻结;进程解冻是由冻结中控调用解冻代理对某个进程解冻;进程冻结白名单是从应用管家的数据库获取,数据库支持后台服务器直接更新名单。
***框架的埋点拦截主要功能有如下几点:添加进程冻结需要的接口,为冻结中控提供支持;拦截已冻结的进程禁止进行进程通信协议;当冻结中控计算有进程解冻立即通知框架层做相应的操作。
程间通信是应用通过进程通信协议与进程通信驱动进行通信,进程的冻/解操作是在进程通信协议中进行拦截,根据进程通信协议中的请求码执行冻结或解冻进程的操作。
解冻代理是当进程被异常终止时或上层调用杀死操作时,若进程已被冻结,则在杀死前确保进程处于未冻结状态。
进程的冻结与解冻主要功能是挂起或者恢复控制组中的任务。根据上层传入的进程号和状态,将其加入对应的控制组中。
内核层是将进程在冻结状态和解冻之间两个控制组之间切换,并负责冻结的进程被终止时能够解冻并执行后续操作。
中控1分钟检测一次,***休眠时不检测;屏幕状态发生变化时立即检测,比如熄屏、亮屏;窗口状态发生变化时立即检测;进程号有变发时立即检测,比如应用前后台变化。
通过冻结/解冻应用方法,能够判断车机***中各个应用运行状态,检测是否需要进行冻结,节约车机***资源,能够比冷启动更加快速的启动应用,给予用户最大的流畅度体验。
综上所述,本申请一种。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (7)
1.一种车机***进程冻结及解冻方法,其特征在于,包括:
获取车机***的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;
将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
2.根据权利要求1所述的车机***进程冻结及解冻方法,其特征在于,根据所述进程状态变化信息记录对应进程状态之前,还包括:
将状态变化的进程与预设***进程表中的进程进行比对,若所述状态变化的进程在所述预设***进程表内,则不记录对应进程状态;
若状态变化的进程在所述预设***进程表内,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
3.根据权利要求1所述的车机***进程冻结及解冻方法,其特征在于,根据所述进程状态变化信息记录对应进程状态之前,还包括:
获取启动所述状态变化的进程的应用,将所述应用于预设应用白名单进行比对;
若所述应用在所述预设应用白名单中,则不记录对应进程状态;
若所述应用在所述预设应用白名单中,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
4.根据权利要求1所述的车机***进程冻结及解冻方法,其特征在于,对对应进程进行冻结之后,还包括:
根据车机***中需求分类对***和应用通讯进行拦截,包括:
对通讯优先级低于预设通讯优先级的应用进行拦截;以及,
对已冻结且通讯优先级高于预设通讯优先级的应用进行解冻。
5.根据权利要求1所述的车机***进程冻结及解冻方法,其特征在于,所述冻结策略包括:
若当前进程不存在关联进程,则直接进行进程冻结,若当前进程存在关联进程,检测关联进程的冻结状态,在关联进程均处于冻结状态时,对当前进程进行冻结,否则,不冻结当前进程;
若当前进程为声音类进程,在预设时间内多次未检测到声音,则对当前进程进行冻结,反之,则不冻结当前进程;
若当前进程为长连接类进程,检测到当前进程在预设的长连接报名单中且当前有长连接,则不冻结当前进程,反之,则冻结当前进程;
若当前进程为流量类进程,检测到当前进程没有流量数据或连词检测时流量相同,则冻结当前进程,反之,则不冻结当前进程。
6.根据权利要求1所述的车机***进程冻结及解冻方法,其特征在于,所述冻结策略,包括:
若当前进程已终止,则解冻当前进程;
若当前进程的进程号小于0,或者,车机***亮屏且所述当前进程在前台,则解冻当前进程;
若车机***亮屏且有可见窗口,则解冻当前进程;
若车机***亮屏且有屏幕桌面小组件时,则解冻当前进程。
7.一种车机***进程冻结及解冻***,其特征在于,包括:
状态记录模块,用于获取车机***的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;
进程管理模块,用于将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211177191.XA CN115562826A (zh) | 2022-09-26 | 2022-09-26 | 一种车机***进程冻结及解冻方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211177191.XA CN115562826A (zh) | 2022-09-26 | 2022-09-26 | 一种车机***进程冻结及解冻方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115562826A true CN115562826A (zh) | 2023-01-03 |
Family
ID=84744001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211177191.XA Pending CN115562826A (zh) | 2022-09-26 | 2022-09-26 | 一种车机***进程冻结及解冻方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115562826A (zh) |
-
2022
- 2022-09-26 CN CN202211177191.XA patent/CN115562826A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10417062B2 (en) | Method and apparatus of unloading out of memory processing flow to user space | |
EP3926467B1 (en) | Application control method and apparatus, terminal, and computer-readable storage medium | |
CN104252389A (zh) | 应用程序运行方法、***及应用程序 | |
CN107545067B (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN112363865A (zh) | 数据库故障恢复方法、装置及人脸图像搜索*** | |
CN110908494A (zh) | 待管理应用检测及控制方法、装置、终端及存储介质 | |
CN114416470A (zh) | 一种云端监控方法、***、设备及计算机存储介质 | |
CN115562826A (zh) | 一种车机***进程冻结及解冻方法和*** | |
US20220179680A1 (en) | Application state control method apparatus, and terminal and computer-readable storage medium | |
CN115190052B (zh) | 一种长连接的管理方法、***和控制单元 | |
CN113835728B (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
WO2020220868A1 (zh) | 广播控制方法、终端及计算机可读存储介质 | |
CN113867145A (zh) | 一种应用控制方法、装置、电子设备及存储介质 | |
CN114860512A (zh) | 车辆的soc芯片工作状态检测方法、装置、设备和*** | |
CN112099857B (zh) | 电子设备的休眠唤醒方法及电子设备 | |
WO2018227355A1 (zh) | 一种智能终端的应用程序管理***及管理方法 | |
CN111176416A (zh) | 应用控制方法、装置、终端及计算机可读存储介质 | |
CN109117340A (zh) | 一种移动终端及其进程间通信的监控方法、存储介质 | |
CN115543343B (zh) | 变量跨线程操作方法及装置 | |
CN115460568B (zh) | 一种车载终端网络管理方法、***、电子设备及存储介质 | |
CN117055536B (zh) | 一种功能检测方法、装置及电子设备 | |
US20220357789A1 (en) | Application freezing control method and device, terminal, and readable storage medium | |
CN116302797A (zh) | 一种服务端软件健康状态采集方法及*** | |
CN107590241B (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN118075731A (zh) | 一种基于app应用的事件通信管理方法及其相关设备 |
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 |