CN111596916A - 一种应用程序管理方法、装置、设备及计算机存储介质 - Google Patents

一种应用程序管理方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN111596916A
CN111596916A CN202010311826.5A CN202010311826A CN111596916A CN 111596916 A CN111596916 A CN 111596916A CN 202010311826 A CN202010311826 A CN 202010311826A CN 111596916 A CN111596916 A CN 111596916A
Authority
CN
China
Prior art keywords
application
application instance
page display
page
buffer
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
Application number
CN202010311826.5A
Other languages
English (en)
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.)
Beijing Feynman Software Technology Co ltd
Original Assignee
Beijing Feynman Software Technology 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 Beijing Feynman Software Technology Co ltd filed Critical Beijing Feynman Software Technology Co ltd
Priority to CN202010311826.5A priority Critical patent/CN111596916A/zh
Publication of CN111596916A publication Critical patent/CN111596916A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Abstract

本发明实施例提供一种应用程序管理方法、装置、设备及计算机存储介质。方法包括:接收操作指令,操作指令包括启动应用实例指令;确定接收操作指令的页面元素对应的第一应用实例;为第一应用实例设置缓冲区;在缓冲区渲染第一应用实例的页面显示内容,获得页面显示结果;显示第一应用实例的页面显示结果。通过本发明实施例,能够降低系统结构的复杂度,简化开发和定制的过程。

Description

一种应用程序管理方法、装置、设备及计算机存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种应用程序管理方法、装置、设备及计算机存储介质。
背景技术
使用网页(Web)前端技术(或者称为“前端技术”)实现应用程序(APP)的开发能够实现跨平台支持,也就是说,不论是在何种操作系统上,只要有一个超文本标记语言(HyperText Mark-up Language,HTML)兼容的浏览器,就可以打开同一个网站或者运行同一个Web App,均可获得一致的页面展现效果或者用户体验,而不需要针对不同的操作系统使用不同的技术开发对应的版本。
目前,已有使用Web技术来构建类似Android和iOS这样的操作系统,例如:WebOS、ChromeOS和Firefox OS。目前,在WebOS和ChromeOS系统中,通常会依赖一个系统级的窗口管理器,并将“桌面”设置为一个特殊的Web应用,其中的桌面的各个模块,例如:背景、任务栏、菜单等,均需要通过窗口管理模块的JavaScript扩展对象调用底层窗口管理模块的相应功能来实现,这导致在构建对应用管理的系统过程中,系统复杂度高,且增加系统的开发和定制的难度。
发明内容
本发明实施例提供了一种应用程序管理方法、装置、设备及计算机存储介质,能够降低系统结构的复杂度,简化开发和定制的过程。
第一方面,本发明提供一种应用程序管理的方法,方法包括:接收操作指令,操作指令包括启动应用实例指令;
确定接收操作指令的页面元素对应的第一应用实例;
为第一应用实例设置缓冲区;
在缓冲区渲染第一应用实例的页面显示内容,获得页面显示结果;
显示第一应用实例的页面显示结果。
在第一方面的一些可实现方式中,为第一应用实例设置缓冲区,包括:
当第一应用实例的页面显示结果被全屏显示,且第一缓冲区渲染第二应用实例的页面显示内容时,保存第二应用实例的页面显示内容;
将第一缓冲区设置为第一应用实例的缓冲区。
在第一方面的一些可实现方式中,为第一应用实例设置缓冲区,包括:
当第一应用实例的页面显示结果在指定位置显示时,将第二缓冲区设置为第一应用实例的缓冲区。
在第一方面的一些可实现方式中,当页面元素对应的第一应用实例包括小组件页面显示内容,为应用实例设置缓冲区,包括:
将第三缓冲区设置为小组件页面显示内容的缓冲区,其中,第三缓冲区所渲染的渲染内容用于共享至第一应用实例的页面显示内容的缓冲区。
在第一方面的一些可实现方式中,操作指令包括还包括:应用程序切换指令,方法还包括:当操作指令为程序切换指令时,根据操作指令进入程序管理页面;
显示所有应用实例中的至少一个应用实例的页面显示内容。
在第一方面的一些可实现方式中,方法还包括:
向第一应用实例发送心跳命令;
若第一应用实例未在预设时间内返回响应,则关闭第一应用实例。
在第一方面的一些可实现方式中,在显示第一应用实例的页面显示结果之前,方法还包括:设置页面显示结果的页面属性;
页面属性包括以下至少一项:页面显示高度、页面显示效果。
在第一方面的一些可实现方式中,为第一应用实例设置缓冲区,还包括:
将缓冲区设置在独立的地址空间。
第二方面,本发明提供一种应用程序管理装置,该装置包括:
接收模块,用于接收操作指令,操作指令包括启动应用实例指令;
确定模块,用于确定接收操作指令的页面元素对应的第一应用实例;
处理模块,用于为第一应用实例设置缓冲区;
渲染模块,用于在缓冲区渲染第一应用实例的页面显示内容,获得页面显示结果;
显示模块,用于显示第一应用实例的页面显示结果。
第三方面,本发明提供一种应用程序管理设备,其特征在于,设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面或者第一方面任一可实现方式中所述的应用程序管理方法。
第四方面,本发明提供一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或者第一方面任一可实现方式中所述的一种应用程序管理方法。
本发明实施例提供了一种应用程序管理方法,能够根据接收的操作指令确定接收操作指令的页面元素对应的第一应用实例,然后通过为第一应用实例设置用于渲染第一应用实例的页面显示内容的缓冲区,实现对页面元素对应的第一应用实例的渲染,并获得渲染结果。通过本发明实施例提供的应用程序管理方法,不需要使用独立的窗口管理模块,而通过页面元素和浏览器的渲染引擎,就可以完成页面的渲染、显示,以及应用实例的管理,有更好的可扩展性,且在支持多进程的运行环境中,可充分利用多进程提供的便利获得更好的系统稳定性和安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种加载多个App的系统结构示意图;
图2是本发明实施例提供的另一种加载多个App的系统结构示意图;
图3是本发明实施例提供的一种ViewOS的系统结构示意图;
图4是本发明实施例提供一种显示桌面示意图;
图5是本发明实施例提供的一种应用程序管理方法的流程示意图;
图6是本发明实施例提供的启动计算器应用实例后的页面显示内容的层叠关系示意图;
图7是本发明实施例提供的一种应用程序管理装置的结构示意图;
图8是本发明实施例提供的一种应用程序管理设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
超文本标记语言(HyperText Mark-up Language,HTML),用于表述网页内容结构的标准。最新的发布标准是HTML5.3。
级联样式表(Cascading Style Sheets,CSS),用于定义HTML页面元素(View)布局、渲染效果等的规范。在CSS2.2之后,CSS规范开始按照模块划分,各模块分头演进。
JavaScript/ECMAScript:一种符合ECMAScript规范的脚本编程语言,最初由网景公司设计给浏览器使用,用于操控HTML页面中的内容,由于JavaScript是商业公司(Oracle)的商标,所以,本发明使用ECMAScript这一术语。
用户代理(User Agent)是HTML规范的一个术语,用来指代可以解析HTML、CSS等W3C规范,并对HTML文档内容进行渲染,进而呈现给用户并实现用户交互的计算机程序。
例如,浏览器就是用户代理。但用户代理不限于浏览器,可以是一个软件组件,也可以是一个应用框架。例如,内嵌到电子邮件客户端程序中,用以解析和渲染HTML格式邮件的软件组件,本质上也是HTML用户代理。
网页前端技术,是HTML、CSS、ECMAScript等技术的通称。
控件(Widget/Control)指构成图形用户界面的可编程功能对象,比如标签、编辑框、按钮、列表框等。开发者通过将不同的控件放置到界面上来实现特定的用户交互。控件有时候也被称为构件。
在现代桌面操作系统上,窗口的概念已深入人心,例如,苹果macOS操作系统、微软Windows操作系统以及Linux上的XWindow系统,均提供有完整的多窗口支持。
Android操作系统为智能手机和平板电脑引入了活动的概念,用来表示当前系统中和用户交互的界面。活动和窗口有一定的类似性,都是应用程序用来呈现内容的一个矩形区域。但活动往往是全屏显示的,而窗口可能只占屏幕上一小块矩形;另外,同一时刻只可能有一个活动显示在屏幕上,但窗口则可以有多个,且互相层叠在一起。
最初,HTML主要用于描述文字和图片混排的文档内容,用户代码解析HTML文档以及对应的CSS属性之后,将静态内容呈现在页面当中,并可通过脚本程序实现对HTML文档内容的动态增加、删除或修改,从而实现动态效果。现在,随着HTML5、CSS3以及ECMAScript技术的发展,很多运行在个人计算机(PC)、智能手机上的应用(App),开始使用Web前端技术来为用户呈现内容,并作为人机交互的界面,这些技术通称为网页前端技术。
使用网页前端技术实现App开发能够带来很多好处,其中最明显的好处就是可以实现跨平台支持。不论是在何种操作系统上,只要有一个兼容的浏览器,比如Windows/Android操作系统上的Chrome浏览器、macOS/iOS操作系统上的Safari浏览器、Linux操作系统上的FireFox浏览器等,我们就可以打开同一个网站或者运行同一个Web App,均可获得一致的页面展现效果或者用户体验。
虽然,使用网页前端技术来开发App,可以实现一次编写到处运行的目标,不需要针对不同的操作系统使用不同的技术开发对应的版本,例如在Android上使用Java编程语言,在iOS上使用ObjectiveC或者Swift编程语言等等,开发者只需要使用网页前端技术就可以开发针对所有操作系统的应用了,这将大大提高应用的开发效率。因此,近几年,一直有人在尝试完全使用Web技术来构建类似Android/iOS这样的操作系统,著名的有WebOS、FirefoxOS和Chrome OS。
其中,WebOS和FirefoxOS都未能良好使用Linux内核提供的多进程机制,即当系统中有同时运行多个Web App时,本质上这些App运行在同一个进程地址空间内。而Chrome OS则是通过扩展的窗口管理JavaScript对象来提供对多进程和多窗口的支持。
图1是本发明实施例提供的一种加载多个App的系统结构示意图;如图1所示的系统结构中,HOME App页面的文档对象模型(Document Object Model,DOM)树可以包括多个iframe节点,每个iframe节点用于运行一个Web App。
当FirefoxOS或者WebOS启动后,呈现给用户的本质上就是一个浏览器页面,当有新的应用启动时,操作系统会在HOME App页面的DOM树中插入一个iframe节点,并在这个节点中加载新的Web App的内容,因此,所有App运行在HOME App页面的DOM树这一个地址空间,也就是说多个App使用同一个单线程事件循环。
尽管,HTML规范为iframe等元素的实现提供了一些安全实施规范,但由于本质上所有App的内容将运行在同一进程地址空间,会导致当某个应用进入死循环、阻塞等不正常工作状态时,将影响整个系统的运行,无法发挥出多核处理器的优势,也无法使用操作系统内核提供的沙箱技术为不同的App创建完全隔离的运行环境,比如隔离的文件系统等;同时,不便整合不便使用Web技术的应用,比如原生的图形应用,使用OpenGLES渲染效果的3D游戏等,例如Firefox OS只能使用插件技术整合这些应用。
而Android、iOS等操作系统,在启动新的App时,都会启动一个运行在独立地址空间中的进程。如图2所示的另一种加载多个App的系统结构示意图,图2所示系统结构可以是Android或者iOS的系统结构示意图,能够加载多个APP,其中每个APP都运行在自己独立的地址空间,例如,图2中所示的APP1、APP2。
另外,在WebOS、ChromeOS等基于Web技术构建的操作系统中,通过集成一个独立的窗口管理模块,并通过扩展的JavaScript对象来为Web App提供多窗口、多进程的运行环境。而这些窗口管理模块,通常依赖于另一个系统级别的窗口管理器,并具有如下特点:
(1)这些窗口管理模块的实现依赖于非Web技术构建的窗口管理器,通常由C/C++语言开发,如Linux桌面的X Window、嵌入式环境中的Qt,或者通过定制开发的管理器来运转,每个独立的Web App显示在窗口管理器为其创建的窗口中,并通过扩展的JavaScript对象实现Web App和窗口管理器的功能交互。
(2)其实现中的“WebOS桌面”是一个特殊的Web应用,其中的各个模块,例如:背景、快捷栏、任务栏、快捷桌面、菜单、窗口等,均需要通过窗口管理模块的JavaScript扩展对象调用底层窗口管理模块的相应功能来实现,并不能使用简单的HTML标记和CSS来描述。
针对上述提到的一个或多个问题,本发明实施例提供了一种应用程序管理方法,无需使用独立的窗口管理模块,并不存在传统意义上的窗口系统以及窗口管理器,而是通过基于Web技术开发的桌面进程作为一个浏览器,桌面进程的显示缓冲区直接关联显示屏幕,运行在系统中的所有其他应用进程,都在由桌面进程分配给它们的离屏(off-screen)帧缓冲区中渲染对应的内容,并通过桌面进程与用户实现交互事件,例如:按键、触摸、鼠标等,桌面进程将所有其他应用进程的内容根据它们的层叠关系确定桌面进程对应的HTML页面的页面元素(view)的CSS属性,从而利用浏览器的渲染引擎完成这些应用进程的内容合成(composite),最终展示在显示屏幕上。因此,本发明实施例提供的用于实现应用程序管理方法的操作系统,Web应用直接使用Web引擎提供的页面渲染和交互功能,除了桌面进程,其他所有的应用进程在桌面进程为它们分配的离屏帧缓冲区中渲染对应的内容,以及所有应用可以使用标准的Web前端技术来描述页面显示内容,不需要借助窗口管理器即可实现。
为了方便描述,将本发明实施例提供的用于实现应用程序管理方法的操作系统命名为“ViewOS”。
作为一个具体的实施例,如图3所示的一种ViewOS的系统结构示意图,具体可以包括:启动器、通知栏、输入法、锁屏、应用等。
具体的,通过本发明实施例提供的应用程序管理方法,启动器、通知栏、输入法、锁屏、应用,以及背景、快捷栏、任务栏、快捷桌面、菜单、窗口等,均可以用简单的HTML标记和CSS来描述,无需通过窗口管理模块实现;在一些实施例中,背景可以是桌面应用的页面背景,不需要设置为独立的模块;快捷栏、任务栏等可以被整合到启动器应用中,可以使用标准的HTML标签和CSS描述等。如此设计,一方面降低了整个系统的复杂性,另一方面能够降低系统的开发和定制难度。
为了更清楚的说明本发明提供的应用程序管理方法,如图4所示的一种显示桌面示意图,在图4中,除屏幕本身之外,显示屏幕可以有三个区域:顶部显示日期和时间的状态栏、一个正在编辑文档的窗口、一个输入法窗口。
作为一个具体的实例,桌面进程可以负责整个屏幕绘制,用户在显示屏幕上看到的状态栏、状态栏进程和输入法进程的内容由三个独立的进程负责渲染,而桌面进程将这些进程渲染好的内容展示在显示屏幕上,具体的,工具栏进程可以创建工具栏窗口,写字本进程可以创建写字本窗口,输入法进程可以创建输入法窗口。这些进程在显示屏幕上对应显示区域中绘制的内容,将被桌面进程复制到显示屏幕上各个窗口所在的位置展示。
通过上述设置,可以实现在独立的进程空间以及被隔离的文件系统中运行每个Web App,或者其他原生的图形应用,能够提高整个系统的稳定性和安全性。
在ViewOS中,其中会运行一个桌面(desktop)进程。这个进程管理App、窗口和活动。假设ViewOS运行在智能手机中,则这些窗口或者活动包括:(1)系统窗口,如锁屏、状态栏、通知、控制中心;(2)系统活动,如启动器。
在一些实施例中,实现本发明实施例提供的应用程序管理方法,首先,在ViewOS启动时,启动桌面(desktop)进程,而桌面进程通过装载系统HTML页面内容而启动系统窗口或活动,桌面进程能够管应用程序、窗口和活动。
ViewOS中的桌面进程支持页面元素(view)扩展的HTML用户代理的运行实例,例如能够支持窗口(window)、活动(activity)和小部件(widget)的运行。
示例性的,View OS启动时,HTML代码可以包括:
Figure BDA0002458137380000091
Figure BDA0002458137380000101
在本发明实施例所描述的应用环境中,每个App实例可以创建多个窗口或者活动,分别用于不同的场景:
窗口(Window):指屏幕上特定位置和大小的矩形区域,应用可在自己创建的窗口中持续展示内容。
活动(Activity):指运行时占据主要屏幕区域的特殊窗口,但系统中同一时刻只能有一个活跃的活动(active activity),一旦有新的活动成为当前活跃的活动,原有的活动将被挂起。
由于屏幕大小的不同,在同时运行多个应用的情况下,操作系统在显示屏幕上展现内容的方式会有的不同,例如:在桌面电脑或者笔记本电脑上,用户可以在显示屏幕上看到多个应用的内容,窗口可层叠显示。
在智能手机或者小型的嵌入式设备中,用户大部分情况下在屏幕上只能看到一个应用的内容。
同时,相比桌面电脑,小型嵌入式设备(如手机或其他)中的图形处理器(GraphicsProcessing Unit,GPU)显示内存较少,为了获得最大的内容合成效率,因此,窗口和活动的管理方法可以有所不同。
大屏幕应用场景下,通常可以选择以窗口的管理为主,而在小屏幕的应用场景,通常可以选择以活动的管理为主,窗口一般用于全局内容(如屏幕保护)或者小的浮动显示窗口,可以理解的,无论是在大屏幕还是小屏幕,实际应用过程可以根据具体的需求而进行具体的设置。
为了减少系统复杂度,降低系统的开发和定制的难度等问题,本发明实施例提供了一种应用程序管理方法。下面对本发明实施例所提供的应用程序管理方法进行描述。
图5是本发明实施例提供的一种应用程序管理方法的流程示意图;下面结合附图对本发明实施例所提供的应用程序管理方法进行介绍,如图5所示,在ViewOS启动后,该应用程序管理方法可以包括S101-S105步骤。
S101、接收操作指令;操作指令包括启动应用实例指令。
S102、确定接收操作指令的页面元素对应的第一应用实例。
在一些实施例中,接收操作指令的页面元素的类型可以是窗口(window),也可以是活动(activity),其中,页面元素至少能够接收以下两个参数:
(1)用于指定应用的标识符(app ID);
(2)用于指定应用中针对特定窗口或者活动的入口。
作为一个具体的实例,两个参数可以是app和entry,其中,App用于指定应用标识符(app ID),entry用于指定应用中针对特定窗口或者活动的入口。
在一些实施例中,通过这App和entry参数,桌面进程就可以找到特定的应用并启动对应的应用实例。
作为一个具体的实例,桌面进程所启动的应用实例可以是窗口或者活动。
S103、为第一应用实例设置缓冲区。
作为本发明实施例的一种实现方式,在一些实施例中,当第一应用实例的页面显示结果被全屏显示,且第一缓冲区渲染第二应用实例的页面显示内容时,保存第二应用实例的页面显示内容;将第一缓冲区设置为第一应用实例的缓冲区。
可以理解的是,当第一应用实例的页面显示结果被全屏显示,第一缓冲区未渲染任何应用实例的页面显示内容时,可以直接将第一缓冲区设置为第一应用实例的缓冲区。
作为一个具体的实例,例如,在手机等小屏幕的运行环境中,应用实例显示后,占据显示屏幕的大部分内容,而且同一时间只有一个应用实例现在显示屏幕,因此可以将这种现实结构默认为“全屏显示”。
在手机等小屏幕的运行环境中,每个应用只能拥有一个实例,所有活动共同使用一个离屏帧缓冲区,因此,在小屏幕的设备根据接收到的操作指令,启动一个应用实例时,桌面进程为当前启动的应用实例对应的活动分配一个离屏帧缓冲区。
具体的,当该离屏帧缓冲区当前正在渲染其他的应用实例时,接收到启动应用实例的操作指令,桌面进程会将当前正在渲染的其他应用实例挂起,同时,将该其他应用实例的在离屏帧缓冲区的最后一帧缓冲区内容保存在文件缓存地址中,然后,将该离屏帧缓冲区分配给正在启动的应用实例。
作为一个具体的实例,该其他应用实例的在离屏帧缓冲区的最后一帧缓冲区内容可以以图片的形式,保存在文件缓存地址中。
在文件缓存地址所保存的该其他应用实例对应的图片,可以在接收到进入应用实例切换页面时进行展示。
由于在小屏幕的设备上,同一时间只有一个应用实例占据显示屏幕的大部分内容(即活动),所有的活动共享一个离屏帧缓冲区,因此,可有效节约内存的使用。
在一些实施例中,在手机等小屏幕运行环境中,每个应用实例可以创建至少一个浮动窗口,用户可以根据自己的需求,在系统中设置或调整,应用实例是否可以创建浮动窗口,因此,能够避免某些不良应用程序通过创建浮动窗口来长时间占据系统内存。
作为本发明实施例的一种实现方式,在一些实施例中,当第一应用实例的页面显示结果在指定位置显示时,将第二缓冲区设置为第一应用实例的缓冲区。
作为一个具体的实例,例如,在桌面电脑等大屏幕运行环境中,每个应用可以对应多个应用实例,每个应用实例在独立的离屏帧缓冲区中进行渲染,且互不干扰。
而且,每个应用实例可在任意时刻在对应自身创建的窗口中渲染对应的页面显示内容。
作为本发明实施例的一种实现方式,在一些实施例中,当页面元素对应的第一应用实例包括小组件页面显示内容,为第一应用实例设置缓冲区,包括:将第三缓冲区设置为小组件页面显示内容的缓冲区,其中,第三缓冲区的渲染内容用于共享至第一应用实例的页面显示内容的缓冲区。
作为一个具体的示例,小部件(Widget)指一个小的离屏帧缓冲区,该小的离屏帧缓冲区的内容由应用进程渲染并共享给系统中其他的进程,桌面进程或其他应用实例可将小部件对应的离屏帧缓冲区渲染的内容复制到自己的页面中展示。
无论是手机等小屏幕运行环境,还是在桌面电脑等大屏幕运行环境,所有的应用实例都可以创建能够共享给其他应用实例渲染内容的小部件。
作为一个具体的示例,小部件的创建过程与窗口或活动应用实例的创建过程不同,具体的,在小部件的创建过程中,如果小部件使用量较大,可选的,小部件可以创建在系统内存中,而不需要由桌面进程为小部件创建离屏帧缓冲区。
当页面元素对应的第一应用实例包括小组件页面显示内容时,只需要请求桌面进程启动对应的应用服务,然后,桌面进程根据页面元素,获得小部件对应的离屏帧缓冲区的对象句柄,整合来自第一应用实例自身或者其他应用实例的小部件缓冲区渲染的内容,并将其内容复制到第一应用实例的页面中展示。
结合上述对小部件的介绍,小部件和窗口或活动的构建机制的区别在于:
(1)小部件的缓冲区的渲染内容可以共享给所有应用实例使用,而窗口或者活动的缓冲区所渲染的内容只能被桌面进程获得。
(2)作为一种可选的实施方式,为获得最大的显示缓冲区合成效率,窗口或者活动对应的离屏帧缓冲区往往创建在GPU管理的视频内存中,如果小部件使用量较大,可以创建在系统内存中。
除了窗口和活动之外,应用还可以创建单个或者多个服务,具体的,服务(Service)指运行时不需要输出内容到屏幕上的模块,通常是在后台运行的线程或者进程,用于向其他应用示例提供某些数据服务,主要工作方式是响应请求并应答。
当为第一应用示例设置完成页面显示内容的缓冲区后,继续执行S104、S105。
S104、在缓冲区渲染第一应用实例的页面显示内容,获得页面显示结果。
S105、显示第一应用实例的页面显示结果。
作为一个具体的实例,除桌面进程之外,所有其他应用进程不直接访问系统中的输入设备,输入设备如键盘、鼠标等,而通过套接字等进程间通讯机制获得来自桌面进程的分发的输入事件,从而完成和用户的交互。
在一些实施例中,操作指令包括还包括:应用程序切换指令。
在一些实施例中,当操作指令为程序切换指令时,根据操作指令进入程序管理页面;显示所有应用实例中的至少一个应用实例的页面显示内容。
作为一个具体的实例,程序管理页面显示的页面显示内容,可以通过页面元素来表述页面显示内容,页面显示内容可以是窗口或者活动。每个页面元素要展示的内容可以包括:被其他应用实例渲染的窗口内容、当前活跃活动渲染的内容、非活跃活动被挂起前的最后内容。
其中,非活跃活动被挂起前的最后内容可以以图片的形式展示。
在一些实施例中,通过页面元素表述的页面显示内容,能够再次接收到用户的操作指令。
当页面元素表述的页面显示内容接收到的操作指令为启动应用实例指令时,则接收操作指令的页面元素对应的应用实例,需要向桌面进程发送请求,由桌面进程负责启动对应的应用实例,或者唤醒已挂起的应用进程。
在一些实施例中,桌面进程能够提供应用实例的生命周期管理能力,具体的,通过向第一应用实例发送心跳命令;若第一应用实例未在预设时间内返回响应,则关闭第一应用实例。
作为一个具体的实例,通过心跳判定应用实例是否失去响应,可选的,由桌面进程每隔给定事件,例如,每5秒,向所有应用实例发送一个心跳命令,而应用实例在接收到这个心跳指令后,如果未能在给定时间内,例如每5秒内未应答,则桌面进程可判定该应用实例已经失去响应,可提示用户关闭该应用实例的进程,或者主动关闭该应用实例的进程。
本发明实施例提供的应用程序管理方法,避免使用独立的窗口管理器模块,而通过扩展的页面元素来描述系统中的窗口、活动或者小部件以及浏览器本身的渲染引擎,即可完成窗口及活动的管理能力。
同时,能够根据接收的操作指令确定接收操作指令的页面元素对应的第一应用实例,然后通过为第一应用实例设置用于渲染第一应用实例的页面显示内容的缓冲区,实现对页面元素对应的第一应用实例的渲染,并获得渲染结果。通过本发明实施例提供的应用程序管理方法,不需要使用独立的窗口管理模块,而通过页面元素和浏览器的渲染引擎,就可以完成页面的渲染、显示,以及应用实例的管理,有更好的可扩展性,降低了系统的复杂度且在支持多进程的运行环境中,可充分利用多进程提供的便利获得更好的系统稳定性和安全性。
在一些实施例中,在显示第一应用实例的页面显示结果之前,本发明实施例提供的应用程序管理方法还包括以下步骤:设置页面显示结果的页面属性;页面属性包括以下至少一项:页面显示高度、页面显示效果。
下面结合一个具体实施例,来具体说明设置页面显示结果的页面属性的具体过程。
根据上述本发明实施例提供的应用程序管理方法的描述,ViewOS的桌面进程启动后,会自动启动启动器应用,用户可通过启动器启动其他应用。假如用户点击了启动器中的“计算器”图标,则启动器会向桌面进程发送启动计算器应用实例的请求,桌面在收到这个请求后启动计算器应用实例,具体的,可以通过一个新的li子元素来表示计算器应用。
作为一个具体的实例,桌面进程可以在HTML文档的ul元素内部插入一个新的li子元素来表示计算器应用实例,示例性的,HTML代码如下所示:
Figure BDA0002458137380000161
图6是本发明实施例提供的启动计算器应用实例后的页面显示内容的层叠关系示意图。
启动计算器应用实例后,该计算器应用实例的页面显示内容的与其他进程显示结果的层叠关系,如图6所示,其中的Z轴是从屏幕内向屏幕外延伸的假象坐标轴,用于表示哪一个显示页面离用户更近。
在桌面进程中,可以通过控制各元素的CSS属性即可调整系统窗口、系统活动以及普通活动的层叠关系。例如,状态栏通常会显示在所有的窗口或者活动之上,所以示例性的,对应的CSS的HTML代码可以如下所示:
Figure BDA0002458137380000162
示例性的,而一个普通活动对应的li子元素对应的CSS的HTML代码可以如下所示:
Figure BDA0002458137380000171
在本发明实施例中,通过控制z-index属性,可以实现将当前活跃的活动内容展示在其他活动的上面。另外,如果使用CSS的opacity属性,还可以控制窗口和活动叠加时的半透明效果。更进一步,如果我们使用CSS3提供的transform、animation、transition等属性,还可以控制关闭应用、切换活动时的动画效果。
在本发明实施例提供的应用程序管理方法中,通过使用Web前端技术管理窗口活动,可通过CSS的z-index、opacity、visibility等属性轻松控制窗口和活动的层叠和混合关系;以及可以通过CSS提供的transform、transition、animation属性轻松实现活动的动态切换效果。
在一些实施例中,为第一应用实例设置缓冲区,还包括:将缓冲区设置在独立的地址空间。
作为一个具体的示例,当使用支持沙箱的操作系统内核时,所有桌面进程启动的应用实例,均可以独立的沙箱中运行。
即,每个应用实例在独立的虚拟地址空间中运行时,除了访问共享的帧缓冲区之外,无法直接访问桌面进程以及其他应用实例的地址空间。同时,每个应用实例被隔离在自己的文件系统中运行,除了桌面进程给该实例准备的系统接口(如Unixdomain套接字)以及公共文件之外,无法访问其他应用的数据。
在本发明实施例提供的应用程序管理方法中,还可以利用其他Linux内核提供的安全性机制,比如文件系统定额(quota)、能否访问网络设备等,来进一步限制应用的权限。
具体的,当ViewOS运行在支持沙箱技术的操作系统,例如Linux,内核之上时,除了桌面和一些系统服务(例如图3中用户管理器、数据总线服务等)之外,ViewOS中的其他普通App将运行在操作系统为其创建的沙箱中。
作为一个具体的示例,当一个App安装后,可以通过Linux或类似操作系统的chroot系统调用实现,将安装后的App的运行环境限制在自己的目录树之下。除此之外,ViewOS也会为每个App创建一个新的独立的用户账号,且对应该应用的所有窗口、活动或者服务,都以该用户身份运行。
以一个标识符为cn.fmsoft.viewos.system的应用为例,在ViewOS系统中安装该应用之后,其可执行代码、资源以其数据等,可以保存在/App/cn.fmsoft.viewos.system/目录之下,示例性的,HTML代码可以如下所示:
Figure BDA0002458137380000181
Figure BDA0002458137380000191
该应用运行时,该应用的所有任务(进程或线程)的文件系统访问范围将被限制在/App/cn.fmsoft.viewos.system/的子目录树中,无法访问整个系统的其他内容,示例性的,HTML代码可以如下所示:
Figure BDA0002458137380000192
Figure BDA0002458137380000201
上述应用可访问的文件系统中,/hae/下保存这该应用的窗口、活动或者服务的入口程序,例如:
(1)/activity/settings[/index.hvml]表示入口为settings的活动。
系统中的其他应用使用:
/App/cn.fmsoft.viewos.system/activity/settings[/index.hvml]来指代该活动。
(2)/window/controlcenter[/index.hvml]表示入口为controlcenter的窗口。
系统中的其他应用使用:
/App/cn.fmsoft.viewos.system/window/controlcenter[/index.hvml]来指代该活动。
(3)/service/foo表示入口为foo的服务。
系统中的其他应用应使用:
/App/cn.fmsoft.viewos.system/service/foo来指代该服务。
上述应用可以访问到的文件系统中,应用文件只能修改/var/目录下的内容,例如:
(1)/var/data:用于保存应用自己的数据,比如,settings.db是用来保存应用数据的SQLite数据库文件。
(2)/var/run:用于保存和系统其他组件通讯的UnixDomain套接字文件。
(3)/var/tmp:用于临时文件的保存。
上述文件系统中/bin、/etc、/lib、/usr等目录下的内容,由应用管理器在安装该应用时准备,包含可执行文件、共享函数库等,以便为Web App的执行提供最小的运行环境。Web App需要的其他系统服务,则通过UnixDomainSocket、信号量、共享内存等进程间通讯(IPC)机制进行数据交换获得。
需要注意的是,这里所述的“应用管理器”是一种系统服务,用来向系统中安装或者系统中移除应用,应用管理器和桌面进程能够管理应用实例的生命周期的功能不同,管理应用实例的生命周期包括启动、挂起、关闭应用进程等。
本发明实施例提供的应用程序管理方法,可以通过Web技术使用简单的HTML标记及CSS来描述背景、快捷方式、菜单等页面显示内容。
同时,所有和用户交互有关的界面,如:桌面、启动器、通知栏、输入法等,均可以使用标准的Web技术来表述和渲染,即使用HTML标签、CSS,避免了使用定制的窗口管理器扩展对象,从而降低了开发复杂度并提高了灵活性、可定制性,例如,可以方便的整合原生的图形应用,使用OpenGLES渲染效果的三维(3-dimension,3D)游戏等。
使用Web前端技术,管理窗口和活动,尤其是CSS3提供的过渡、动画等,可以通过设置页面元素(view)元素的属性,即可实现窗口和活动的层叠关系调整以及动态切换效果等,避免了复杂的JavaScript对象的方法调用。
同时,本发明实施例提供的应用程序管理方法,在支持多进程的操作系统内核之上,让不同的Web App以独立进程运行,可充分发挥多核处理器的优势,同时在支持沙箱技术的操作系统内核时,可以通过在沙箱中设置Web App以独立进程运行以及限制访问,可充分提高系统的稳定性和安全性。
基于本发明实施例提供的一种应用程序管理方法的具体实现方式,本发明还提供了一种应用程序管理装置的具体实现方式。图7是本发明实施例提供的一种应用程序管理装置的结构示意图;如图7所示,该装置可以包括:接收模块201、确定模块202、处理模块203、渲染模块203、显示模块205。
其中,接收模块201,用于接收操作指令,操作指令包括启动应用实例指令;
其中,操作指令包括还可以包括:应用程序切换指令。
确定模块202,用于确定接收操作指令的页面元素对应的第一应用实例;
处理模块203,用于为第一应用实例设置缓冲区。
当第一应用实例的页面显示结果被全屏显示,且第一缓冲区渲染第二应用实例的页面显示内容时,处理模块203用于保存第二应用实例的页面显示内容,将第一缓冲区设置为第一应用实例的缓冲区。
当第一应用实例的页面显示结果在指定位置显示时,处理模块203用于将第二缓冲区设置为第一应用实例的缓冲区。
当页面元素对应的第一应用实例包括小组件页面显示内容,处理模块203用于将第三缓冲区设置为小组件页面显示内容的缓冲区,其中,第三缓冲区的渲染内容用于共享至第一应用实例的页面显示内容的缓冲区。
渲染模块204,用于在缓冲区渲染第一应用实例的页面显示内容,获得页面显示结果;
显示模块205,用于显示第一应用实例的页面显示结果。
该应用程序管理装置可以包括:切换模块,当操作指令为程序切换指令时,切换模块用于根据操作指令进入程序管理页面;可选的,显示模块205用于显示所有应用实例中的至少一个应用实例的页面显示内容。
该应用程序管理装置可以包括:管理模块,管理模块用于向第一应用实例发送心跳命令;若第一应用实例未在预设时间内返回响应,则关闭第一应用实例。
处理模块203还用于设置页面显示结果的页面属性,其中,页面属性包括以下至少一项:页面显示高度、页面显示效果。
处理模块203还用于将缓冲区设置在独立的地址空间。
可以理解的是,本发明实施例的应用程序管理装置,可以对应于本发明实施例提供的应用程序管理方法的执行主体,应用程序管理装置的各个模块/单元的操作和/或功能的具体细节可以参见上述本发明实施例提供的应用程序管理方法中的相应部分的描述,为了简洁,在此不再赘述。
基于本发明实施例提供的应用程序管理方法的具体实现方式,本发明还提供了一种应用程序管理设备的具体实现方式。图8是本发明实施例提供的一种应用程序管理设备的结构示意图。
如图8所示,本实施例中的应用程序管理设备300包括输入设备301、输入接口302、中央处理器303、存储器304、输出接口305、以及输出设备306。其中,输入接口302、中央处理器303、存储器304、以及输出接口305通过总线310相互连接,输入设备301和输出设备306分别通过输入接口302和输出接口305与总线310连接,进而与应用程序管理设备300的其他组件连接。
具体地,输入设备301接收来自外部的输入信息,并通过输入接口302将输入信息传送到中央处理器303;中央处理器303基于存储器304中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器304中,然后通过输出接口305将输出信息传送到输出设备306;输出设备306将输出信息输出到应用程序管理设备300的外部供用户使用。
也就是说,图8所示的应用程序管理设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现本发明实施例描述的数据获取方法或本发明实施例提供的应用程序管理方法。
在一个实施例中,图8所示的应用程序管理设备300包括:存储器304,用于存储程序;中央处理器303,用于运行存储器中存储的程序,以执行本发明实施例描述的数据获取方法或本发明实施例提供的应用程序管理方法。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例描述的数据获取方法或本发明实施例提供的应用程序管理方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、只读存储器(Read-Only Memory,ROM)、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(Radio Frequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (11)

1.一种应用程序管理方法,其特征在于,所述方法包括:
接收操作指令,所述操作指令包括启动应用实例指令;
确定接收所述操作指令的页面元素对应的第一应用实例;
为所述第一应用实例设置缓冲区;
在所述缓冲区渲染所述第一应用实例的页面显示内容,获得页面显示结果;
显示所述第一应用实例的页面显示结果。
2.根据权利要求1所述的方法,其特征在于,所述为所述第一应用实例设置缓冲区,包括:
当所述第一应用实例的页面显示结果被全屏显示,且第一缓冲区渲染第二应用实例的页面显示内容时,保存所述第二应用实例的页面显示内容;
将所述第一缓冲区设置为所述第一应用实例的缓冲区。
3.根据权利要求1所述的方法,其特征在于,所述为所述第一应用实例设置缓冲区,还包括:
当所述第一应用实例的页面显示结果在指定位置显示时,将第二缓冲区设置为所述第一应用实例的缓冲区。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述页面元素对应的第一应用实例包括小组件页面显示内容时,所述为所述第一应用实例设置缓冲区,包括:
将第三缓冲区设置为所述小组件页面显示内容的缓冲区,其中,所述第三缓冲区的渲染内容用于共享至所述第一应用实例的页面显示内容的缓冲区。
5.根据权利要求1所述的方法,其特征在于,所述操作指令还包括应用程序切换指令,所述方法还包括:
当所述操作指令为程序切换指令时,根据所述操作指令进入程序管理页面;
显示所有应用实例中的至少一个所述应用实例的页面显示内容。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述第一应用实例发送心跳命令;
若所述第一应用实例未在预设时间内返回响应,则关闭所述第一应用实例。
7.根据权利要求1所述的方法,其特征在于,在所述显示所述第一应用实例的页面显示结果之前,所述方法还包括:设置所述页面显示结果的页面属性;
所述页面属性包括以下至少一项:页面显示高度、页面显示效果。
8.根据权利要求1所述的方法,其特征在于,为所述第一应用实例设置缓冲区,还包括:
将所述缓冲区设置在独立的地址空间。
9.一种应用程序管理装置,其特征在于,所述装置包括:
接收模块,用于接收操作指令,所述操作指令包括启动应用实例指令;
确定模块,用于确定接收所述操作指令的页面元素对应的第一应用实例;
处理模块,用于为所述第一应用实例设置缓冲区;
渲染模块,用于在所述缓冲区渲染所述第一应用实例的页面显示内容,获得页面显示结果;
显示模块,用于显示所述第一应用实例的页面显示结果。
10.一种应用程序管理设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-9任意一项所述的应用程序管理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8任意一项所述的应用程序管理方法。
CN202010311826.5A 2020-04-20 2020-04-20 一种应用程序管理方法、装置、设备及计算机存储介质 Pending CN111596916A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010311826.5A CN111596916A (zh) 2020-04-20 2020-04-20 一种应用程序管理方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010311826.5A CN111596916A (zh) 2020-04-20 2020-04-20 一种应用程序管理方法、装置、设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN111596916A true CN111596916A (zh) 2020-08-28

Family

ID=72185211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010311826.5A Pending CN111596916A (zh) 2020-04-20 2020-04-20 一种应用程序管理方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111596916A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344764A (zh) * 2021-05-11 2021-09-03 中天恒星(上海)科技有限公司 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质
CN113360150A (zh) * 2021-05-25 2021-09-07 广东海启星海洋科技有限公司 多模块数据联动显示的方法及装置
CN113900754A (zh) * 2021-10-09 2022-01-07 深圳技德智能科技研究院有限公司 共享桌面方法、装置、计算机设备和存储介质
WO2023245366A1 (zh) * 2022-06-20 2023-12-28 北京小米移动软件有限公司 应用管理方法、装置、电子设备以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043611A (zh) * 2009-10-23 2011-05-04 Tcl集团股份有限公司 一种动态生成用户界面的系统及其实现方法
CN103064580A (zh) * 2012-04-11 2013-04-24 北京飞漫软件技术有限公司 一种在桌面上隐藏应用及调出隐藏应用的方法
WO2017219833A1 (zh) * 2016-06-22 2017-12-28 中兴通讯股份有限公司 一种应用程序页面开发管理方法及装置
CN109388453A (zh) * 2018-09-07 2019-02-26 Oppo广东移动通信有限公司 应用页面的展示方法、装置、存储介质和电子设备
CN109684578A (zh) * 2018-12-28 2019-04-26 北京字节跳动网络技术有限公司 用于显示信息的方法和装置
CN109918598A (zh) * 2019-03-07 2019-06-21 四川长虹电器股份有限公司 一种基于Android电视浏览器的web页面渲染方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043611A (zh) * 2009-10-23 2011-05-04 Tcl集团股份有限公司 一种动态生成用户界面的系统及其实现方法
CN103064580A (zh) * 2012-04-11 2013-04-24 北京飞漫软件技术有限公司 一种在桌面上隐藏应用及调出隐藏应用的方法
WO2017219833A1 (zh) * 2016-06-22 2017-12-28 中兴通讯股份有限公司 一种应用程序页面开发管理方法及装置
CN109388453A (zh) * 2018-09-07 2019-02-26 Oppo广东移动通信有限公司 应用页面的展示方法、装置、存储介质和电子设备
CN109684578A (zh) * 2018-12-28 2019-04-26 北京字节跳动网络技术有限公司 用于显示信息的方法和装置
CN109918598A (zh) * 2019-03-07 2019-06-21 四川长虹电器股份有限公司 一种基于Android电视浏览器的web页面渲染方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
WEIXIN_30362233: "vue服务端渲染页面缓存和组件缓存的实例详解" *
熊雨新: "基于WebRTC引擎的音频视频交互系统设计与实现" *
魏永明: "HTML5:移动互联行业的明日之星" *
魏永明: "风景这边独好——实时嵌入式Linux系统上GUI的发展与展望" *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344764A (zh) * 2021-05-11 2021-09-03 中天恒星(上海)科技有限公司 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质
CN113344764B (zh) * 2021-05-11 2024-04-19 中天恒星(上海)科技有限公司 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质
CN113360150A (zh) * 2021-05-25 2021-09-07 广东海启星海洋科技有限公司 多模块数据联动显示的方法及装置
CN113360150B (zh) * 2021-05-25 2024-04-26 广东海启星海洋科技有限公司 多模块数据联动显示的方法及装置
CN113900754A (zh) * 2021-10-09 2022-01-07 深圳技德智能科技研究院有限公司 共享桌面方法、装置、计算机设备和存储介质
CN113900754B (zh) * 2021-10-09 2023-10-31 深圳技德智能科技研究院有限公司 共享桌面方法、装置、计算机设备和存储介质
WO2023245366A1 (zh) * 2022-06-20 2023-12-28 北京小米移动软件有限公司 应用管理方法、装置、电子设备以及存储介质

Similar Documents

Publication Publication Date Title
US8407584B1 (en) Stable and secure use of content scripts in browser extensions
CN111596916A (zh) 一种应用程序管理方法、装置、设备及计算机存储介质
US11853820B2 (en) Cross-process communication method, apparatus, and device
US9116680B2 (en) Dynamically building locale objects or subsections of locale objects based on historical data
WO2018161813A1 (zh) 一种资源加载方法及装置
CN110020323B (zh) 混合应用的页面切换方法、系统、计算机设备及存储介质
US20140365910A1 (en) Systems and methods for sharing and switching between personas on mobile technology platforms
US9842091B2 (en) Switching to and from native web applications
AU2007336810A1 (en) Managed execution environment for software application interfacing
CN111259301A (zh) Html页面内元素渲染的方法、装置、设备和存储介质
CN110780930A (zh) 启动Android系统的方法、装置、电子设备及存储介质
US20150067664A1 (en) System, method and apparatus for transparently enabling software applications with adaptive user interfaces
US9804872B1 (en) Method for emulation of a virtual OS bookmark on a host desktop
US10579373B2 (en) Seamless extension porting
JP2001521217A (ja) トラッグおよびドロップのインターフエイスを用いて制御をアブリケーションに結び付けるシステム
Zhou et al. Windows Phone 7 programming for Android and iOS developers
CN106775608B (zh) 独立系统进程的实现方法和装置
Smyth Android Studio 3.0 Development Essentials-Android 8 Edition
Nyrhinen et al. Lively mashups for mobile devices
CN116700694B (zh) 小程序引擎
WO2024017278A1 (en) Method, device and program carrier for cross-platform porting of applications
CN113849252A (zh) 小程序多屏显示方法、支持小程序多屏显示的宿主系统及客户端设备
Del Sole et al. Building Android Applications
CN116954937A (zh) 小程序中的文件处理方法、装置、设备及可读存储介质
CN116932126A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200828