用于家居设备的电子设备及控制设备的运行方法与流程

文档序号:20765831发布日期:2020-05-15 18:54阅读:128来源:国知局
用于家居设备的电子设备及控制设备的运行方法与流程

本公开涉及用于家居设备的电子设备、以及用于家居设备的控制设备的运行方法。



背景技术:

传统的用于家居设备的控制设备,通常为安装在建筑面(例如墙壁、门、电器、家居等的表面)上的开关面板,如86型开关面板,其通常具有物理按键。随着智能家居行业的发展,由于这样的控制设备的可扩展应用的局限性,用于家居设备的控制设备开始从物理按键发展为虚拟屏、触控屏面板,并且通常还包括嵌入式系统。结合了嵌入式系统的控制设备,不再限于单一的开关控制功能,可以允许用户通过在面板上操作控制界面,从而实现家居网络中各家居设备的控制,例如,灯具开关的控制、空调温度的控制、家居场景的控制等。此外,在网络(包括有线或无线)的支持下,用于家居设备的控制设备还可以实现紧急天气预报、通知、留言等信息推送功能,非常适合智能家居、智能酒店公寓和智能办公等场所。

为了在不改变原有室内布线形式、开关面板孔位和原有家装风格的前提下做到原位替换,控制设备的尺寸往往较小,难以满足硬件资源对空间的要求。此外,由于通常要尽量控制用于家居设备的控制设备的硬件成本,导致其嵌入式系统的存储空间和cup性能的受限。因此,减小嵌入式操作系统的系统开销、维持系统稳定,是必须考虑的问题。

目前常见的手机或平板电脑,若用户想要结束当前在前台运行的应用程序或后台运行的应用程序,一般需要进行两步操作,如图1a至1c所示。以安卓系统为例,第一步,如图1a所示,点击屏幕下方的“多任务”或“显示所有用户运行应用”的虚拟或实体按钮,系统弹出当前在前台及后台运行的所有应用程序的缩略图;第二步,用户对想要结束的应用程序所对应的缩略图进行操作,例如可以如图1b所示地将应用程序的缩略图向上滑动,或可以如图1c所示地点击应用程序的缩略图右上角的关闭按钮,从而结束该应用程序。而考虑到用于家居设备的控制设备的放置位置(例如,通常是安装在建筑面上),用户通常是站在控制设备前进行操作,因此,繁琐的操作(带来较长的操作时间)会带来不好的用户体验。所以,在考虑控制设备的系统性能时,也需要简化用户的操作。



技术实现要素:

本公开的目的之一是提供一种用于家居设备的电子设备、以及用于家居设备的控制设备的运行方法。

根据本公开的第一方面,提供了一种用于家居设备的电子设备,所述电子设备被配置为安装于建筑面上,所述电子设备包括可操作面板和嵌入式系统,所述可操作面板被配置为显示应用程序的界面并接收用户的操作;以及所述嵌入式系统被配置为运行操作系统和应用程序,所述操作系统被配置为:在所述可操作面板接收到用户的第一操作之后,退出前台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间。

根据本公开的第二方面,提供了一种用于家居设备的控制设备的运行方法,包括:显示应用程序的界面并接收用户的操作;在接收到用户的第一操作之后,退出前台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间;以及在接收到用户的第二操作之后,退出前台运行和后台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1a至1c是示出的现有技术中的电子设备的操作方法的示意图。

图2是根据本公开实施例中的操作系统所维护的应用程序的链表的示意图。

图3是根据本公开实施例中的操作系统创建应用程序的链表及增加节点的示意性流程图。

图4和图5是根据本公开实施例中的操作系统在链表中增加节点的示意图。

图6是根据本公开实施例中的操作系统结束前台运行的应用程序的一个具体的实现过程的示意性流程图。

图7是根据本公开实施例中的操作系统从应用程序链表中删除节点的示意图。

图8是根据本公开实施例中的操作系统结束前台和后台运行的应用程序的一个具体的实现过程的示意性流程图。

图9是根据本公开实施例中的操作系统清空应用程序链表的示意图。

图10是根据本公开实施例的电子设备的结构示意图。

具体实施方式

以下将参照附图描述本公开,其中的附图示出了本公开的若干实施例。然而应当理解的是,本公开可以以多种不同的方式呈现出来,并不局限于下文描述的实施例;事实上,下文描述的实施例旨在使本公开的公开更为完整,并向本领域技术人员充分说明本公开的保护范围。还应当理解的是,本文公开的实施例能够以各种方式进行组合,从而提供更多额外的实施例。

应当理解的是,在所有附图中,相同的附图标记表示相同的元件。在附图中,为清楚起见,某些特征的尺寸可以进行变形。

应当理解的是,本文中的用语仅用于描述特定的实施例,并不旨在限定本公开。本文使用的所有术语(包括技术术语和科学术语)除非另外定义,均具有本领域技术人员通常理解的含义。为简明和/或清楚起见,公知的功能或结构可以不再详细说明。

在本文中,用语“连接”意图包含一个特征与另一个特征的物理、电性、和/或通信连接,并且这一个特征与另一个特征之间可以存在也可以不存在中间特征。当连接为通信连接时,即使提及a与b“直接连接”,只是意图强调a与b的连接之间不存在本公开所强调的一个或多个特征,但并不代表限制a与b之间不经过任何元件而连接,本领域技术人员应理解,a与b之间可以通过线缆、路由器、网关、信道、链路、网络等相连接。需要说明的是,在本公开的附图中,a与b之间的无论是直接连接还是间接连接都通过连接在a与b之间的直线来表示。

在本文中,用语“a或b”包括“a和b”以及“a或b”,而不是排他地仅包括“a”或者仅包括“b”,除非另有特别说明。

在本文中,用语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。

在本文中,用语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。用语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。

另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。

还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。

本公开提供了用于家居设备的电子设备(当其用于家居设备的控制时,也可以被称为用于家居设备的控制设备)及其运行方法。该电子设备可以用于控制家居网络中的一个或多个家居设备,例如,控制灯具的开关、调节空调的温度、设置家居网络的场景等。除了这些功能之外,电子设备还可以为用户提供其他的辅助功能,例如,天气预报推送、新闻推送、通知/留言推送等。电子设备通常被安装于建筑面上,例如,墙壁、门、电器、家居等的表面上。根据本公开实施例的电子设备10,如图10所示,包括可操作面板11和嵌入式系统12。嵌入式系统12被配置为运行操作系统和应用程序,可操作面板11被配置为显示应用程序的界面并接收用户的操作。其中,操作系统被配置为:在可操作面板11接收到用户的第一操作之后,退出前台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间。

第一操作可以是由操作系统/应用程序预定义的、或由用户自定义的用于结束前台运行的应用程序的操作。为了便于用户操作,第一操作可以包括预先定义的单独的一个手势。需要说明的是,一个手势指的是操作系统/应用程序预定义的、或用户自定义的对可操作面板11的一次操作,并不限定为仅包括一个“动作”。例如,一个手势可以是在可操作面板11的屏幕的特定区域从左到右滑动,也可以是在可操作面板11的屏幕的特定区域双击等。

本公开所称的“前台运行”的应用程序,是指其界面正在被可操作面板显示的应用程序。界面正在被可操作面板显示的应用程序,即前台运行的应用程序,可以是一个或多个。操作系统可以预先定义、或者用户可以自己定义,在可操作面板11接收到用户的第一操作之后,是只结束正在被用户操作的那一个应用程序(也可以被描述为:在可操作面板11接收到用户的第一操作之前刚刚被用户操作过的那一个应用程序),还是结束前台运行的所有应用程序。

在可操作面板11接收到用户的第一操作之后,操作系统不仅退出前台运行的应用程序,还释放应用程序所使用的内存空间。本公开所称的“退出”应用程序包括退出该应用程序的主函数(可以理解,在退出主函数之前,主函数所直接或间接调用的函数也全部退出),因此,该应用程序所提供的功能和显示的界面也均关闭。本公开所称的应用程序所使用的内存空间包括应用程序在运行过程中所使用的堆栈空间、定义的变量空间、动态申请/分配的内存空间等。

本公开所称的“应用程序”包括与家居设备相关联的程序(包括用于家居设备的电子设备为用户提供用于控制、查看、配置家居网络中的一个或多个家居设备等功能所依赖的应用程序,例如用于控制灯具开关、调节空调温度、设置家居网络的场景等的应用程序),还包括与用户服务相关联的程序(包括用于家居设备的电子设备为用户提供其他的辅助功能所依赖的应用程序,例如用于天气预报推送、新闻推送、通知/留言推送等的应用程序)。在一些实施例中,出于系统运行安全性/稳定性的考虑,与操作系统相关联的一些应用程序不能由用户来操作结束,因此,在这些实施例中“应用程序”不包括与操作系统相关联的程序,例如,对操作系统的运行提供服务和/或管理的程序、对操作系统之外的程序的运行提供服务和/或管理的程序等。

操作系统还可以被配置为:在可操作面板接收到用户的第二操作之后,退出前台运行和后台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间。第二操作可以包括预先定义的单独的一个手势。前台运行和后台运行的一个或多个应用程序可以包括前台运行和后台运行的所有应用程序。

本公开提供的电子设备及其运行方法,仅需用户在可操作面板的屏幕界面上进行一步简单操作即可快速关闭前台运行的应用程序、或快速关闭前台运行和后台运行的应用程序,并释放内存空间,从而防止存在较多运行的进程而消耗内存空间,降低系统运行效率。

本公开还提供操作系统的一些具体的实施例以便操作系统实现上述功能。在这些实施例中,操作系统维护应用程序的链表,链表的各节点分别对应于前台运行和后台运行的各应用程序。如图2所示,链表可以是线性链表,具有头指针*head和尾指针*tail,头指针*head指向链表的第一个节点地址,尾指针*tail指向链表的最后一个节点地址。操作系统通过管理链表的头、尾指针来维护应用程序的链表。

链表的每个节点可以包括与该节点对应的应用程序的标识符(pid)。例如,节点的数据结构可以体现为如下定义的结构体structuserappinfo:

structuserappinfo:

{

intusrpid;

structuserappinfo*next;

};

其中,usrpid为应用程序的进程标识符,userappinfo*next指向下一个userappinfo节点地址。为表述方便,将节点的上述数据结构体表述为应用程序信息结构体。

分别指向该链表的第一个和最后一个节点地址的头指针*head和尾指针*tail可以分别被定义为指向结构体的指针userappinfo*head和userappinfo*tail。

创建链表与增加节点

当一个应用程序被开启后,操作系统首先根据该应用程序的pid创建应用程序信息结构体,并将其加入到应用程序链表。如图3所示,如果此时链表为空链表,即指针*head和*tail均指向null,则进入图3的左部分支,令*head和*tail均指向新建的应用程序信息结构体地址usrapp,如图4的上部所示。如果此时链表不为空,则根据操作系统预先确定的规则,可以将新节点(对应于新建的应用程序信息结构体)插入到链表的头部,也可以将新节点插入到链表的尾部。

将新节点插入到链表头部的操作可以如图3的右部分支和图4的下部所示。增加新节点之前的链表包括节点1至节点n,头指针*head指向节点1,尾指针*tail指向节点n。将新建的应用程序信息结构体userappinfo*usrapp中的指针*next指向节点1,然后将头指针*head指向新建的用户应用序信息结构体地址usrapp,从而将新节点插入到链表的头部。

将新节点插入到链表头部的操作可以如图5所示。将新建的应用程序信息结构体userappinfo*usrapp中的指针*next指向指针*tail所指向的链表的最后一个节点地址,然后将指针*tail指向新建的用户应用序信息结构体地址usrapp,从而将新节点插入到链表的尾部。

结束前台运行的应用程序

在可操作面板接收到第一操作之后,逐一地对前台运行的一个或多个应用程序(根据操作系统预先确定的规则,可以是前台运行的所有应用程序,也可以是前台运行的部分应用程序(例如刚被用户操作过的那个/那些))中的每个应用程序:在链表中找到与应用程序对应的节点并退出应用程序(例如可以通过在链表中找到其包括的标识符与应用程序匹配的节点来找到与应用程序对应的节点)、释放应用程序所使用的内存空间、以及从链表中删除节点。

下面以一个具体的例子来说明。当用户浏览或操作完某个应用程序,需要关闭该应用程序并恢复到默认界面时,用户进行第一操作,例如手指触摸可操作面板并从左到右滑动。可操作面板接收到该操作手势后,触发“关闭当前应用程序事件”:首先,根据当前运行的应用程序的pid,查找匹配应用程序链表中各个节点存储的pid,当匹配无误后:退出当前运行的应用程序、从应用程序链表中删除相应的节点(图7示出了从应用程序链表中删除相应节点的三种情况,图的上、中、下三部分分别对应于当前应用程序所对应的节点在链表的头部、中部和尾部的三种情况)、释放内存空间、以及回到系统默认的界面。

图6示出的为可实现上述过程的一个具体的操作流程。操作系统监控到特定手势操作之后,触发“关闭当前应用程序事件”。操作系统获取当前应用程序的标识符pidx,新建结构体指针userappinfo*node并让*node指向链表的头部,即node=head。判断*node是否为空,若不为空,则进行如下操作:判断*node指向的结构体中的pid是否为pidx,即判断node->usrpid是否等于pidx:若等于,则根据pidx关闭当前应用程序并从链表中删除node节点;若不等于,则另*node指向当前节点的下一个节点,即node=node->next,并从判断*node是否为空开始重复上述过程,直到*node为空为止。

结束前台和后台运行的应用程序

在可操作面板接收到第二操作之后,逐一地对前台运行和后台运行的一个或多个应用程序(根据操作系统预先确定的规则,可以是前台运行的所有应用程序,也可以是前台运行的部分应用程序)中的每个应用程序:在链表中找到与应用程序对应的节点并退出应用程序(例如可以通过在链表中找到其包括的标识符与应用程序匹配的节点来找到与应用程序对应的节点)、释放应用程序所使用的内存空间、以及从链表中删除节点。

下面以一个具体的例子来说明。当用户浏览或操作完某个应用程序后,用户可以进行第二操作,例如在可操作面板的任意位置双击,来结束当前在前台和后台运行的所有应用程序。可操作面板接收到双击的操作手势(例如检测到连续两次点击屏幕的时间间隔timeinterval符合200ms<timeinterval<300ms)之后,触发“清空应用程序链表事件”。如图9所示,操作系统根据应用程序链表各个节点中保存的进程号pid,依次退出pid所对应的应用程序,并删除当前节点;然后指向下一个节点,重复上述步骤。最终依次删除所有节点,清空应用程序链表。

图8示出的为可实现上述过程的一个具体的操作流程。操作系统监控到特定手势操作之后,触发“清空应用程序链表事件”。操作系统新建结构体指针userappinfo*node和*delete,其中*node用于在链表中的寻址,*delete用于与节点相关的删除操作。让*node指向链表的头部,即node=head。然后将链表清空,即另*head和*tail都指向空head=null并且tail=null,之后再用node依次寻址到原来链表中的各个节点,对各节点所对应的应用程序和该节点进行删除操作。删除操作具体包括:判断*node是否为空,若为空,则删除操作进行完毕;若不为空,则进行如下操作:根据当前节点的pid,即node->usrpid,来关闭对应的应用程序;令*delete指向当前*node所指向的地址以便对该节点进行删除操作;将*node指向下一个节点的地址,即node=node->next;对*delete指向的结构体地址进行删除操作(包括删除定义的结构体变量等)。

本公开提出的用于家居设备的电子设备及其运行方法,允许用户在可操作面板上进行一步简单的操作即可快速结束当前用户操作的应用程序或结束当前运行的所有应用程序,并释放内存空间。本公开的方案简化了用户在操作用于家居设备的电子设备时结束和清理应用程序的步骤;并且在关闭应用程序的同时还释放内存空间,可以防止过多应用程序同时开启消耗过多的内存空间,降低系统运行效率。

另外,本公开的实施方式还可以包括以下示例:

1.一种用于家居设备的电子设备,所述电子设备被配置为安装于建筑面上,所述电子设备包括可操作面板和嵌入式系统,

所述可操作面板被配置为显示应用程序的界面并接收用户的操作;以及

所述嵌入式系统被配置为运行操作系统和应用程序,所述操作系统被配置为:在所述可操作面板接收到用户的第一操作之后,退出前台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间。

2.根据1所述的电子设备,其特征在于,所述第一操作包括预先定义的单独的一个手势。

3.根据1所述的电子设备,其特征在于,所述前台运行的一个或多个应用程序包括前台运行的所有应用程序。

4.根据1所述的电子设备,其特征在于,所述操作系统还被配置为:

维护应用程序的链表,所述链表包括分别对应于前台运行的各应用程序的各节点,

在所述可操作面板接收到所述第一操作之后,逐一地对前台运行的一个或多个应用程序中的每个应用程序:在所述链表中找到与所述应用程序对应的节点并退出所述应用程序、释放所述应用程序所使用的内存空间、以及从所述链表中删除所述节点。

5.根据4所述的电子设备,其特征在于,所述节点包括与该节点对应的应用程序的标识符,其中,在所述链表中找到与所述应用程序对应的节点包括:在所述链表中找到其包括的标识符与所述应用程序匹配的节点。

6.根据1所述的电子设备,其特征在于,所述操作系统还被配置为:在所述可操作面板接收到用户的第二操作之后,退出前台运行和后台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间。

7.根据6所述的电子设备,其特征在于,所述第二操作包括预先定义的单独的一个手势。

8.根据6所述的电子设备,其特征在于,所述前台运行和后台运行的一个或多个应用程序包括前台运行和后台运行的所有应用程序。

9.根据6所述的电子设备,其特征在于,所述操作系统还被配置为:

维护应用程序的链表,所述链表包括分别对应于前台运行和后台运行的各应用程序的各节点,

在所述可操作面板接收到所述第二操作之后,逐一地对前台运行和后台运行的一个或多个应用程序中的每个应用程序:在所述链表中找到与所述应用程序对应的节点并退出所述应用程序、释放所述应用程序所使用的内存空间、以及从所述链表中删除所述节点。

10.根据1所述的电子设备,其特征在于,所述应用程序包括与家居设备相关联的程序、以及与用户服务相关联的程序。

11.根据1所述的电子设备,其特征在于,所述应用程序不包括与操作系统相关联的程序。

12.一种用于家居设备的控制设备的运行方法,包括:

显示应用程序的界面并接收用户的操作;

在接收到用户的第一操作之后,退出前台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间;以及

在接收到用户的第二操作之后,退出前台运行和后台运行的一个或多个应用程序并释放该一个或多个应用程序所使用的内存空间。

13.根据12所述的运行方法,其特征在于,所述第一和第二操作分别为彼此不同的、预先定义的单独的一个手势。

14.根据12所述的电子设备,其特征在于,所述前台运行的一个或多个应用程序包括前台运行的所有应用程序,所述前台运行和后台运行的一个或多个应用程序包括前台运行和后台运行的所有应用程序。

15.根据12所述的运行方法,其特征在于,还包括:

维护应用程序的链表,所述链表的各节点分别对应于前台运行和后台运行的各应用程序,

在接收到所述第一操作之后,逐一地对前台运行的一个或多个应用程序中的每个应用程序:在所述链表中找到与所述应用程序对应的节点并退出所述应用程序、释放所述应用程序所使用的内存空间、以及从所述链表中删除所述节点;以及

在接收到所述第二操作之后,逐一地对前台运行和后台运行的一个或多个应用程序中的每个应用程序:在所述链表中找到与所述应用程序对应的节点并退出所述应用程序、释放所述应用程序所使用的内存空间、以及从所述链表中删除所述节点。

16.根据15所述的运行方法,其特征在于,所述链表的每个节点包括与该节点对应的应用程序的标识符,所述运行方法还包括:在所述链表中找到其包括的标识符与所述应用程序匹配的节点,从而找到与所述应用程序对应的节点。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1