一种车机系统进程冻结及解冻方法和系统与流程

文档序号:32787905发布日期:2023-01-03 19:56阅读:69来源:国知局
一种车机系统进程冻结及解冻方法和系统与流程

1.本技术涉及领域,尤其涉及一种车机系统进程冻结及解冻方法和系统。


背景技术:

2.随着汽车车载智能终端的发展,在终端中配置的产品也越来越丰富。应用从被退到后台到被清理这段时间会持续消耗中央处理器等资源,造成车机卡顿,影响用户体验。
3.就现有已知方法中,主机厂采用原始安卓管理方案,未提出新的解决方案,应用从被退到后台到被清理这段时间会持续消耗中央处理器等资源,息屏下对应用进行断网处理,但也会不断尝试联网。从而造成比较严重性能消耗和功耗问题。进程冷启动时间较长,冷启动后无法回到之前的界面,用户体检较差。
4.现有方法中也公开了通过将冻结控制线程放在应用进程中,使应用进程独立管理冻结和解冻操作,不会影响整个设备系统的稳定性,提升了用户体验。或者在扩展移动终端的内存量的基础上,尽量保持预设虚拟内存对应的外部存储卡的寿命。但是,以上方法无法满足车载产品的实际应用需求,难以解决车机在使用过程中应用卡顿、车机系统卡顿的问题。


技术实现要素:

5.鉴于以上现有技术存在的问题,本技术提出一种车机系统进程冻结及解冻方法和系统,主要解决车机系统使用过程中应用卡顿或系统卡顿的问题。
6.为了实现上述目的及其他目的,本技术采用的技术方案如下。
7.本技术提供一种车机系统进程冻结及解冻方法,包括:
8.获取车机系统的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;
9.将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
10.在本技术一实施例中,根据所述进程状态变化信息记录对应进程状态之前,还包括:
11.将状态变化的进程与预设系统进程表中的进程进行比对,若所述状态变化的进程在所述预设系统进程表内,则不记录对应进程状态;
12.若状态变化的进程在所述预设系统进程表内,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
13.在本技术一实施例中,根据所述进程状态变化信息记录对应进程状态之前,还包括:
14.获取启动所述状态变化的进程的应用,将所述应用于预设应用白名单进行比对;
15.若所述应用在所述预设应用白名单中,则不记录对应进程状态;
16.若所述应用在所述预设应用白名单中,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
17.在本技术一实施例中,对对应进程进行冻结之后,还包括:
18.根据车机系统中需求分类对系统和应用通讯进行拦截,包括:
19.对通讯优先级低于预设通讯优先级的应用进行拦截;以及,
20.对已冻结且通讯优先级高于预设通讯优先级的应用进行解冻。
21.在本技术一实施例中,所述冻结策略包括:
22.若当前进程不存在关联进程,则直接进行进程冻结,若当前进程存在关联进程,检测关联进程的冻结状态,在关联进程均处于冻结状态时,对当前进程进行冻结,否则,不冻结当前进程;
23.若当前进程为声音类进程,在预设时间内多次未检测到声音,则对当前进程进行冻结,反之,则不冻结当前进程;
24.若当前进程为长连接类进程,检测到当前进程在预设的长连接报名单中且当前有长连接,则不冻结当前进程,反之,则冻结当前进程;
25.若当前进程为流量类进程,检测到当前进程没有流量数据或连词检测时流量相同,则冻结当前进程,反之,则不冻结当前进程。
26.在本技术一实施例中,所述冻结策略,包括:
27.若当前进程已终止,则解冻当前进程;
28.若当前进程的进程号小于0,或者,车机系统亮屏且所述当前进程在前台,则解冻当前进程;
29.若车机系统亮屏且有可见窗口,则解冻当前进程;
30.若车机系统亮屏且有屏幕桌面小组件时,则解冻当前进程。
31.本技术还提供一种车机系统进程冻结及解冻系统,包括:
32.状态记录模块,用于获取车机系统的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;
33.进程管理模块,用于将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
34.如上所述,本技术一种车机系统进程冻结及解冻方法和系统,具有以下有益效果。
35.本技术通过获取车机系统的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。本技术根据进程变换状态进行冻结和解冻,避免进程冷启动,保证进程快速启动的同时不增加额外的功耗,有效防止应用或系统卡顿。
附图说明
36.图1为本技术一实施例中车机系统冻结及解冻方法的流程示意图。
37.图2为本技术一实施例中车机系统应用需求分类的示意图。
38.图3为本技术一实施例中车机系统冻结及解冻系统的模块图。
39.图4为本技术一实施例中车机系统冻结及解冻系统的框架示意图。
具体实施方式
40.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
41.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,遂图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
42.请参阅图1,本技术提供一种车机系统冻结及解冻方法,该方法包括以下步骤。
43.步骤s100,获取车机系统的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态。
44.在一实施例中,当车机系统中有进程状况发生了改变立即通知冻结中控,冻结中控记录当前车机系统中除系统进程和白名单应用的进程外进程状况信息。
45.在一实施例中,根据所述进程状态变化信息记录对应进程状态之前,还包括以下步骤:将状态变化的进程与预设系统进程表中的进程进行比对,若所述状态变化的进程在所述预设系统进程表内,则不记录对应进程状态;若状态变化的进程在所述预设系统进程表内,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
46.根据所述进程状态变化信息记录对应进程状态之前,还包括以下步骤:获取启动所述状态变化的进程的应用,将所述应用于预设应用白名单进行比对;若所述应用在所述预设应用白名单中,则不记录对应进程状态;若所述应用在所述预设应用白名单中,则记录对应进程状态,以根据所述进程状态进行进程的冻结或解冻。
47.排除系统进程或者白名单应用对应的进程,对其他进程进行冻结和解冻操作。
48.步骤s200,将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
49.在一实施例中,冻结策略包括:
50.若当前进程不存在关联进程,则直接进行进程冻结,若当前进程存在关联进程,检测关联进程的冻结状态,在关联进程均处于冻结状态时,对当前进程进行冻结,否则,不冻结当前进程。具体地,进程冻结的关联策略类:若不存在关联进程,直接返回正确,若存在关联进程,有一个进程未被冻,则该进程也不会冻,返回错误。关联进程冻一起冻,不冻一起不冻。
51.若当前进程为声音类进程,在预设时间内多次未检测到声音,则对当前进程进行冻结,反之,则不冻结当前进程;具体地,进程冻结音乐策略类:至少30秒的两次检测没有声音,则返回正确,反之返回错误。
52.若当前进程为长连接类进程,检测到当前进程在预设的长连接报名单中且当前有
长连接,则不冻结当前进程,反之,则冻结当前进程。具体地,进程冻结面向连接协议的长连接策略类:若该进程在长连接白名单内且当前有长连接,返回错误,其他返回正确。
53.若当前进程为流量类进程,检测到当前进程没有流量数据或连词检测时流量相同,则冻结当前进程,反之,则不冻结当前进程。具体地,进程冻结流量策略类:若该应用没有流量数据或两次检测时流量相同,返回正确;若两次检测间隔超过1分钟且流量不超200kb字节流,返回正确。其他情况返回错误。
54.在一实施例中,冻结策略,包括:
55.若当前进程已终止,则解冻当前进程。具体地,不冻结终止进程的策略类:若进程已终止,返回正确。
56.若当前进程的进程号小于0,或者,车机系统亮屏且所述当前进程在前台,则解冻当前进程。具体地,进程解冻进程号策略类:如果进程的进程号小于0返回正确,若系统亮屏且该进程在前台,返回正确,其他情况返回错误。
57.若车机系统亮屏且有可见窗口,则解冻当前进程。具体地,进程解冻窗口策略类:若亮屏状态下且有可见的窗口,则解冻返回正确,其他返回错误。
58.若车机系统亮屏且有屏幕桌面小组件时,则解冻当前进程。具体地,进程冻结桌面小组件策略类:亮屏并且有桌面小组件时返回正确,其他返回错误。
59.在一实施例中,对对应进程进行冻结之后,还包括:根据车机系统中需求分类对系统和应用通讯进行拦截,包括:对通讯优先级低于预设通讯优先级的应用进行拦截;以及,对已冻结且通讯优先级高于预设通讯优先级的应用进行解冻。
60.当一个应用冻住了,框架层中需要拦截对冻住的应用进行binder通信,比如启动冻结的应用、广播通信等等,如果不进行拦截,大量冻结的应用频繁解冻,导致管控不住功耗的问题。
61.请参阅图2,图2为本技术一实施例中车机系统应用需求分类的示意图。车机系统中需要分类对系统和应用通讯进行拦截操作。
62.其中需要对通话相关、通知栏点击、启动界面、应用点到点通讯是比较重要的通讯,需要对其进行放行,并且自动解冻已冻结的应用。其他模块如启动服务、无线网络变化、传感器、定时器等需要对其进行拦截操作。
63.请参阅图3,图3为本技术一实施例中车机系统冻结及解冻系统的模块图。本技术提供的车机系统冻结及解冻系统,包括:状态记录模块10,用于获取车机系统的进程状态变化信息,根据所述进程状态变化信息记录对应进程状态;进程管理模块11,用于将所述进程状态与预设冻结策略和解冻策略进行比较,若所述进程状态满足所有冻结策略,则对对应进程进行冻结,或者,若所述进程状态满足任一解冻策略,则对对应进程进行解冻。
64.请参阅图4,图4为本技术一实施例中车机系统冻结及解冻系统的框架示意图。由图4可知,冻结中控是进程冻结的控制中枢,主要功能是检查所有进程状况,是否符合制定的冻结策略和解冻策略,并执行相应的操作。
65.当车机系统中有进程状况发生了改变立即通知冻结中控,冻结中控记录当前车机系统中除系统进程和白名单应用的进程外进程状况信息;计算每个进程是否符合所有的冻结策略,是否符合任一项解冻策略;进程冻结是由冻结中控回调系统框架活动管理服务中的方法,并根据活动管理服务的要求远程调用服务端的方法,在进程通信过程中调用底层
方法将该进程冻结;进程解冻是由冻结中控调用解冻代理对某个进程解冻;进程冻结白名单是从应用管家的数据库获取,数据库支持后台服务器直接更新名单。
66.系统框架的埋点拦截主要功能有如下几点:添加进程冻结需要的接口,为冻结中控提供支持;拦截已冻结的进程禁止进行进程通信协议;当冻结中控计算有进程解冻立即通知框架层做相应的操作。
67.程间通信是应用通过进程通信协议与进程通信驱动进行通信,进程的冻/解操作是在进程通信协议中进行拦截,根据进程通信协议中的请求码执行冻结或解冻进程的操作。
68.解冻代理是当进程被异常终止时或上层调用杀死操作时,若进程已被冻结,则在杀死前确保进程处于未冻结状态。
69.进程的冻结与解冻主要功能是挂起或者恢复控制组中的任务。根据上层传入的进程号和状态,将其加入对应的控制组中。
70.内核层是将进程在冻结状态和解冻之间两个控制组之间切换,并负责冻结的进程被终止时能够解冻并执行后续操作。
71.中控1分钟检测一次,系统休眠时不检测;屏幕状态发生变化时立即检测,比如熄屏、亮屏;窗口状态发生变化时立即检测;进程号有变发时立即检测,比如应用前后台变化。
72.通过冻结/解冻应用方法,能够判断车机系统中各个应用运行状态,检测是否需要进行冻结,节约车机系统资源,能够比冷启动更加快速的启动应用,给予用户最大的流畅度体验。
73.综上所述,本技术一种。所以,本技术有效克服了现有技术中的种种缺点而具高度产业利用价值。
74.上述实施例仅例示性说明本技术的原理及其功效,而非用于限制本技术。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1