基于安卓系统的应用程序无感启动方法、系统及电子设备与流程

阅读: 评论:0



1.本发明涉及数据处理领域,尤其涉及一种基于安卓系统的应用程序无感启动方法、系统及电子设备。


背景技术:



2.对于在安卓系统中启动应用程序,设备主页面显示白屏或黑屏的问题,大家或多或少都遇到过,但出现黑白屏并非是不正常的,而是因为安卓系统还没有加载到应用程序的布局窗口,就已经显示window窗口背景,出现的黑屏或白屏其实就是window窗口背景。
3.目前,针对黑屏或白屏的问题,常用的解决方法如在应用程序的布局窗口加载出来之前,将主题背景设置成一张图片,并把活动设置成全屏,这样在布局加载出来之前,我们就能看到一张默认的背景图,但是所述背景图与屏幕之间的适配问题就需要重点考虑,因为主题里的所述背景图片会根据所述屏幕尺寸自动拉伸,可能会导致失真或者比例失调的问题,以致于极大的降低用户体验。


技术实现要素:



4.本发明提供一种基于安卓系统的应用程序无感启动方法、系统及电子设备,其主要目的在于提升优化应用程序启动的用户体验。
5.为实现上述目的,本发明提供的一种基于安卓系统的应用程序无感启动方法,包括:获取安卓系统中待启动的应用程序,并查询所述应用程序在所述安卓系统中的设备主页面,基于所述设备主页面,配置所述应用程序的应用加载页面;获取所述应用程序的启动指令,根据所述启动指令,查询所述应用程序的启动状态;在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动;在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程,在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面,并创建所述加载页面在所述应用程序中的运行进程,基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动。
6.可选地,所述基于所述设备主页面,配置所述应用程序的应用加载页面,包括:查询所述安卓系统中的可绘制资源配置文件,获取所述应用程序所在的设备屏幕的顶级窗口视图,并确定所述顶级窗口视图的布局位置;根据所述应用程序的业务场景和所述布局位置,构建所述应用程序的初始加载页面;在所述可绘制资源配置文件中查询所述初始加载页面的目标可绘制文件;
识别所述设备主页面对应的设备系统密度;根据所述目标可绘制文件和所述设备系统密度,调整所述初始加载页面的视图尺寸,得到所述应用程序的应用加载页面。
7.可选地,所述根据所述应用程序的业务场景和所述布局位置,构建所述应用程序的初始加载页面,包括:根据所述应用程序的业务场景,获取所述应用程序的业务需求;根据所述业务需求,配置所述应用程序的窗口属性;查询所述窗口属性对应的窗口修饰布局文件,并膨胀所述窗口修饰布局文件,生成所述应用程序的窗口视图;将所述窗口视图分布在所述布局位置上,以构建所述应用程序的初始加载页面。
8.可选地,所述根据所述目标可绘制文件和所述设备系统密度,调整所述初始加载页面的视图尺寸,得到所述应用程序的应用加载页面,包括:根据所述目标可绘制文件和所述设备系统密度,利用下述公式计算所述初始加载页面的视图调整比例:其中,表示初始加载页面的视图调整比例,表示设备系统密度,表示目标可绘制文件对应的图片密度;根据所述视图调整比例,构建所述应用程序的应用加载页面。
9.可选地,所述根据所述启动指令,查询所述应用程序的启动状态,包括:根据所述启动指令,获取所述应用程序的启动时刻,根据预设的时间阈值和所述启动时刻,计算所述应用程序对应设备屏幕的抓取时刻;根据屏幕抓取时刻,抓取所述应用程序所在设备的当前设备屏幕;识别所述设备屏幕对应顶级窗口视图的区域位置,查询所述当前设备屏幕在所述区域位置中的目标区域视图;判断所述目标区域视图的视图状态,所述视图状态包括黑屏状态、白屏状态以及模糊状态;在所述视图状态为黑屏状态,判定所述应用程序的启动状态为未启动状态;在所述视图状态为白屏状态,判定所述应用程序的启动状态为未启动状态;在所述视图状态为模糊状态,判定所述应用程序的启动状态为已启动状态。
10.可选地,所述判断所述目标区域视图的视图状态,所述视图状态包括黑屏状态、白屏状态,模糊状态,包括:根据所述目标区域视图,利用灰度转换算法,对所述目标区域视图进行灰度转换,得到视图灰度图像,提取所述视图灰度图像的每个像素点的灰度值;若所述灰度值为第一阈值,则所述目标区域视图的视图状态为黑屏状态;若所述灰度值为第二阈值,则所述目标区域视图的视图状态为白屏状态;若所述灰度值不为第一阈值且不为第二阈值,则所述目标区域视图的视图状态为模糊状态。
11.可选地,所述基于所述启动进程,执行所述启动页面在所述应用程序中的页面启
动,包括:利用进程间通信机制中的驱动方式,从所述启动进程发送附属应用请求到所述应用程序对应的系统服务进程;根据所述附属应用请求,利用进程间通信机制中的驱动方式,在所述系统服务进程中发送计划启动请求到所述启动进程的驱动线程中;根据所述计划启动请求,利用异步消息通信机制,在所述驱动线程中发送启动请求到所述启动进程的主线程;根据所述启动请求,利用java反射机制和创建方法,创建所述应用程序的目标加载页面,并将所述目标加载页面更改为所述启动页面,以实现所述启动页面在所述应用程序中的页面启动。
12.为了解决上述问题,本发明还提供一种基于安卓系统的应用程序无感启动系统,所述系统包括:加载页面配置模块,用于获取安卓系统中待启动的应用程序,并查询所述应用程序在所述安卓系统中的设备主页面,基于所述设备主页面,配置所述应用程序的应用加载页面;启动状态查询模块,用于获取所述应用程序的启动指令,根据所述启动指令,查询所述应用程序的启动状态;启动进程创建模块,用于在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动;启动页面重构模块,用于在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程,在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面,并创建所述加载页面在所述应用程序中的运行进程,基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动。
13.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以实现上述所述的基于安卓系统的应用程序无感启动方法。
14.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的基于安卓系统的应用程序无感启动方法。
15.可以看出,本发明实施例通过获取安卓系统中待启动的应用程序可以得到安卓系统中后续无感启动方案的实施对象,并查询所述应用程序在所述安卓系统中的设备主页面可以得到在所述应用程序启动前的设备初始页面以与应用程序的启动页面形成对照,及基于所述设备主页面,配置所述应用程序的应用加载页面可以作为后续启动所述应用程序时对应的显示启动页面;其次,本发明实施例通过获取所述应用程序的启动指令以为后续实现应用程序的无感启动前提,并查询所述应用程序的启动状态可以为后续采取相应的应用程序启动页面提供依据,以避免在应用程序启动中出现白屏、黑屏的现象;进一步地,本发
明实施例通过在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,以加载所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程实现所述应用程序的页面启动,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动可以实现所述应用程序的启动页面的无感启动,在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程为后续重构应用程序的加载页面提供保障,并在所述服务进程中定义所述应用加载页面的主题样式为透明和适配尺寸为所述设备顶级窗口大小,以重构所述应用程序的加载页面为达到所述应用程序还未启动的感觉,使得页面显示仍然停留在所述设备主页面,及基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动可以启动重构后的加载页面,直至所述应用程序成功启动完成,实现所述应用程序的无感启动。因此,本发明实施例提出的一种基于安卓系统的应用程序无感启动方法、系统及电子设备可以提升优化应用程序启动的用户体验。
附图说明
16.图1为本发明一实施例提供的基于安卓系统的应用程序无感启动方法的流程示意图;图2为本发明一实施例提供的基于安卓系统的应用程序无感启动系统的模块示意图;图3为本发明一实施例提供的实现基于安卓系统的应用程序无感启动方法的电子设备的内部结构示意图;本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
17.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
18.本发明实施例提供一种基于安卓系统的应用程序无感启动方法。所述基于安卓系统的应用程序无感启动方法的执行主体包括但不限于服务端、终端等能够被配置为执行本发明实施例提供的该方法的电子设备中的至少一种。换言之,所述基于安卓系统的应用程序无感启动方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集、云端服务器或云端服务器集等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
19.参照图1所示,为本发明一实施例提供的基于安卓系统的应用程序无感启动方法的流程示意图。在本发明实施例中,所述基于安卓系统的应用程序无感启动方法包括:s1、获取安卓系统中待启动的应用程序,并查询所述应用程序在所述安卓系统中的设备主页面,基于所述设备主页面,配置所述应用程序的应用加载页面。
20.本发明实施例通过所述获取安卓系统中待启动的应用程序可以得到安卓系统中后续无感启动方案的实施对象。其中,所述安卓系统是一种基于linux内核(不包含gnu组件)的自由及开放源代码的操作系统,其主要应用于移动设备,如智能手机、平板电脑、电视、数码相机、游戏机、智能手表等。所述应用程序是指为完成某项或多项特定工作的计算
机程序,其运行在用户模式,可以和用户进行交互,具有可视的用户界面,如、抖音、淘宝、京东等应用程序。
21.进一步地,本发明的一个实施例中,所述获取安卓系统中待启动的应用程序可以根据具体的用户业务需求实现,如用户想要购物启动京东或淘宝应用程序,用户想要与亲友通讯启动或qq应用程序等。
22.进一步地,本发明实施例通过所述并查询所述应用程序在所述安卓系统中的设备主页面可以得到在所述应用程序启动前的设备初始页面以与应用程序的启动页面形成对照。其中,所述设备主页面是指在设备未开启任何应用程序时的操作系统主界面,如手机的主页面是开机后的第一个界面或者是待机时的界面。
23.进一步地,本发明的一个实施例中,所述并查询所述应用程序在所述安卓系统中的设备主页面可以通过python调用adb命令查询。
24.进一步地,本发明实施例通过所述基于所述设备主页面,配置所述应用程序的应用加载页面可以作为后续启动所述应用程序时对应的显示启动页面。其中,所述应用加载页面是指在应用程序启动时载入的包含文本、图像、表格、超链接等信息的页面。
25.进一步地,本发明的一个实施例中,所述基于所述设备主页面,配置所述应用程序的应用加载页面,包括:查询所述安卓系统中的可绘制资源配置文件,获取所述应用程序所在的设备屏幕的顶级窗口视图,并确定所述顶级窗口视图的布局位置;根据所述应用程序的业务场景和所述布局位置,构建所述应用程序的初始加载页面;在所述可绘制资源配置文件中查询所述初始加载页面的目标可绘制文件;识别所述设备主页面对应的设备系统密度;根据所述目标可绘制文件和所述设备系统密度,调整所述初始加载页面的视图尺寸,得到所述应用程序的应用加载页面。其中,所述可绘制资源配置文件是安卓系统放在\res\drawableres下的不同系统密度和分辨率的显示图形的文件,所述图形不只是图片,还包括块、画板、背景等等,如drawable-ldpi(120dpi 240*320)、drawable-mdpi(160dpi 320*480)、drawable-hdpi(240dpi 480*800)、drawable-xhdpi(320dpi 720*1280)以及drawable-xxhdpi(480dpi 1080*1920)文件。所述设备系统密度是指安卓系统的设备屏幕出厂时所配置的固定密度的初始化参数,所述初始化参数包括120dpi、160dpi、240dpi、320dpi、480dpi。所述顶级窗口视图是指设备屏幕窗口的最顶层视图。
26.进一步地,本发明的一个实施例中,所述根据所述应用程序的业务场景和所述布局位置,构建所述应用程序的初始加载页面,包括:根据所述应用程序的业务场景,获取所述应用程序的业务需求;根据所述业务需求,配置所述应用程序的窗口属性;查询所述窗口属性对应的窗口修饰布局文件,并膨胀所述窗口修饰布局文件,生成所述应用程序的窗口视图;将所述窗口视图分布在所述布局位置上,以构建所述应用程序的初始加载页面。
27.进一步地,本发明的一个实施例中,所述根据所述目标可绘制文件和所述设备系统密度,调整所述初始加载页面的视图尺寸,得到所述应用程序的应用加载页面,包括:根据所述目标可绘制文件和所述设备系统密度,利用下述公式计算所述初始加载页面的视图调整比例:其中,表示初始加载页面的视图调整比例表示设备系统密度,表示目标
可绘制文件对应的图片密度;具体的,当表示初始加载页面的放大比例,表示初始加载页面的缩小比例,表示保持初始加载页面大小不变,根据所述视图调整比例,构建所述应用程序的应用加载页面。
28.s2、获取所述应用程序的启动指令,根据所述启动指令,查询所述应用程序的启动状态。
29.本发明实施例中,所述启动指令是用来指示设备执行某种操作的命令,其实现方式包括系统命令语句或事件,如点击事件、输入事件、焦点事件以及键盘事件等,或通过数据脚本获取,所述数据脚本可以通过js脚本语言进行编译。
30.进一步地,本发明实施例通过所述查询所述应用程序的启动状态可以为后续采取相应的应用程序启动页面提供依据,以避免在应用程序启动中出现白屏、黑屏的现象。
31.进一步地,本发明的一个实施例中,所述根据所述启动指令,查询所述应用程序的启动状态,包括:根据所述启动指令,获取所述应用程序的启动时刻,根据预设的时间阈值和所述启动时刻,计算所述应用程序对应设备屏幕的抓取时刻;根据屏幕抓取时刻,抓取所述应用程序所在设备的当前设备屏幕;识别所述设备屏幕对应顶级窗口视图的区域位置,查询所述当前设备屏幕在所述区域位置中的目标区域视图;判断所述目标区域视图的视图状态,所述视图状态包括黑屏状态、白屏状态以及模糊状态;在所述视图状态为黑屏状态,判定所述应用程序的启动状态为未启动状态;在所述视图状态为白屏状态,判定所述应用程序的启动状态为未启动状态;在所述视图状态为模糊状态,判定所述应用程序的启动状态为已启动状态。其中,所述预设的时间阈值可以设定为2秒,也可根据实际业务场景设定。
32.进一步地,本发明的一个实施例中,所述判断所述目标区域视图的视图状态,所述视图状态包括黑屏状态、白屏状态以及模糊状态,包括:根据所述目标区域视图,利用灰度转换算法,对所述目标区域视图进行灰度转换,得到视图灰度图像,提取所述视图灰度图像的每个像素点的灰度值;若所述灰度值为第一阈值,则所述目标区域视图的视图状态为黑屏状态;若所述灰度值为第二阈值,则所述目标区域视图的视图状态为白屏状态;若所述灰度值不为第一阈值且不为第二阈值,则所述目标区域视图的视图状态为模糊状态。其中,所述第一阈值设为0,所述第二阈值设为255。
33.更进一步地,本发明的一个实施例中,所述灰度转换算法,可以利用下述公式实现:其中,表示视图灰度图像的像素灰度值,表示rgb目标区域视图像素的红通道值,表示rgb目标区域视图像素的绿通道值,表示rgb目标区域视图像素的蓝通道值。
34.s3、在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动。
35.应该了解,在所述启动状态为已启动状态时,表示所述应用程序已经成功启动,因此,本发明实施例通过将所述应用加载页面作为所述应用程序的启动页面,以加载所述应用程序的启动页面。其中,所述启动页面是应用程序被用户唤起时,进入主界面之前出现的
一张图片、动画、视频等,所述启动页面的设计可以缓解用户因等待时间过长而产生的厌烦情绪,优化用户体验,同时还可以给用户操作正确的信息反馈,切换到主界面也会显得更加自然,其可以是产品的特展示,广告,品牌传递画面以及节日氛围画面等。
36.进一步地,本发明实施例通过所述并创建所述启动页面在所述应用程序中的启动进程可以实现所述应用程序的页面启动。
37.进一步地,本发明的一个实施例中,所述并创建所述启动页面在所述应用程序中的启动进程,包括:获取所述应用程序对应的安卓系统,利用进程间通信机制中的套接字方式,在所述安卓系统中的系统服务进程中发送创建进程请求;根据所述创建进程请求,在孵化器进程中分化出所述孵化器进程的子进程,并将所述子进程作为所述启动页面在所述应用程序中的启动进程。其中,所述进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。所述启动进程是指当应用程序启动时,被操作系统创建的进程。所述套接字方式是对网络中不同主机上的应用进程之间进行双向通信的方式,一个套接字是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。所述系统服务进程是所有安卓基本服务运行的进程,并是安卓java虚拟机的第一个进程,从孵化器进程创建而来,是安卓系统最重要的java虚拟机。所述孵化器进程是一个原生进程,是安卓系统上所有应用进程的父进程,其可分裂出所述安卓系统上应用程序的进程。
38.进一步地,本发明实施例通过所述基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动可以实现所述应用程序的启动页面的无感启动。
39.进一步地,本发明的一个实施例中,所述基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动,包括:利用进程间通信机制中的驱动方式,从所述启动进程发送附属应用请求到所述应用程序对应的系统服务进程;根据所述附属应用请求,利用进程间通信机制中的驱动方式,在所述系统服务进程中发送计划启动请求到所述启动进程的驱动线程中;根据所述计划启动请求,利用异步消息通信机制,在所述驱动线程中发送启动请求到所述启动进程的主线程;根据所述启动请求,利用java反射机制和创建方法,创建所述应用程序的目标加载页面,并将所述目标加载页面更改为所述启动页面,以实现所述启动页面在所述应用程序中的页面启动。其中,所述驱动方式是安卓系统中最主要的进程间通信方式,其在进程间通信过程中做中转,比如在进程间a与进程间b之间传递数据,只需进行一次拷贝实现进程间的高效率通信。所述主线程是指当应用程序启动时,被操作系统创建的对应进程中的第一个线程,其是产生其他子线程的线程。所述java反射机制是指在程序的运行状态中动态获取程序信息以及动态调用对象的功能,具体的,如在程序的运行状态中可以构造任意一个类的对象,并了解所述对象所属的类以及所述类的成员变量和方法,以及可以调用所述对象的属性和方法等s4、在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程,在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面,并创建所述加载页面在所述应用程序中的运行进程,基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动。
40.应该了解,在所述启动状态为未启动状态时,表示所述应用程序的启动页面未加载完成,因此,本发明实施例通过创建所述启动页面在所述应用程序中的服务进程,为后续
重构应用程序的加载页面提供保障,在所述服务进程中定义所述应用加载页面的主题样式为透明和适配尺寸为所述设备顶级窗口大小,以重构所述应用程序的加载页面,为达到所述应用程序还未启动的感觉,使得页面显示仍然停留在所述设备主页面,及基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动可以启动重构后的加载页面,直至所述应用程序成功启动完成,实现所述应用程序的无感启动。其中,所述主题样式是针对窗体级别的,改变窗体样式,对整个应用程序或某个活动存在全局性影响。所述适配尺寸是指与所述设备窗体尺寸相适合匹配的尺寸。
41.进一步地,本发明实施例中,所述创建所述启动页面在所述应用程序中的服务进程、所述创建所述加载页面在所述应用程序中的运行进程与s3中所述创建所述启动页面在所述应用程序中的启动进程的实现原理相同,可参照s3,在此不再赘述。
42.进一步地,本发明实施例通过所述在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面可以在应用程序的启动状态为未启动时,重构加载页面的显示样式,以实现应用程序的无感启动。
43.进一步地,本发明的一个实施例中,所述在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面可以通过在所述服务进程中定义并更改所述应用加载页面的主题样式为透明和适配尺寸为所述设备顶级窗口大小实现。
44.进一步地,本发明的一个实施例中,所述基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动与s3中所述基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动的实现原理相同,可参照s3,在此不再赘述。
45.可以看出,本发明实施例通过获取安卓系统中待启动的应用程序可以得到安卓系统中后续无感启动方案的实施对象,并查询所述应用程序在所述安卓系统中的设备主页面可以得到在所述应用程序启动前的设备初始页面以与应用程序的启动页面形成对照,及基于所述设备主页面,配置所述应用程序的应用加载页面可以作为后续启动所述应用程序时对应的显示启动页面;其次,本发明实施例通过获取所述应用程序的启动指令以为后续实现应用程序的无感启动前提,并查询所述应用程序的启动状态可以为后续采取相应的应用程序启动页面提供依据,以避免在应用程序启动中出现白屏、黑屏的现象;进一步地,本发明实施例通过在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,以加载所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程实现所述应用程序的页面启动,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动可以实现所述应用程序的启动页面的无感启动,在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程为后续重构应用程序的加载页面提供保障,并在所述服务进程中定义所述应用加载页面的主题样式为透明和适配尺寸为所述设备顶级窗口大小,以重构所述应用程序的加载页面为达到所述应用程序还未启动的感觉,使得页面显示仍然停留在所述设备主页面,及基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动可以启动重构后的加载页面,直至所述应用程序成功启动完成,实现所述应用程序的无感启动。因此,本发明实施例提出的一种基于安卓系统的应用程序无感启动方法、系统及电子设备可以提升优化应用程序启动的用户体验。
46.如图2所示,是本发明基于安卓系统的应用程序无感启动系统的功能模块图。
47.本发明所述基于安卓系统的应用程序无感启动系统100可以安装于电子设备中。
根据实现的功能,所述基于安卓系统的应用程序无感启动系统可以包括加载页面配置模块101、启动状态查询模块102、启动进程创建模块103以及启动页面重构模块104。本发明所述模块也可以称之为单元,是指一种能够被电子设备的处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
48.在本实施例中,关于各模块/单元的功能如下:加载页面配置模块101,用于获取安卓系统中待启动的应用程序,并查询所述应用程序在所述安卓系统中的设备主页面,基于所述设备主页面,配置所述应用程序的应用加载页面;启动状态查询模块102,用于获取所述应用程序的启动指令,根据所述启动指令,查询所述应用程序的启动状态;启动进程创建模块103,用于在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动;启动页面重构模块104,用于在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程,在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面,并创建所述加载页面在所述应用程序中的运行进程,基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动。
49.详细地,本发明实施例中所述基于安卓系统的应用程序无感启动系统100中的所述各模块在使用时采用与上述的图1中所述的基于安卓系统的应用程序无感启动方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
50.如图3所示,是本发明实现基于安卓系统的应用程序无感启动方法的电子设备1的结构示意图。
51.所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于安卓系统的应用程序无感启动程序。
52.其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备1的控制核心(control unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行基于安卓系统的应用程序无感启动程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
53.所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card, smc)、安全数字(secure digital, sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1
的应用软件及各类数据,例如基于安卓系统的应用程序无感启动程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
54.所述通信总线12可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
55.所述通信接口13用于上述电子设备1与其他设备之间的通信,包括网络接口和员工接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备1之间建立通信连接。所述员工接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,员工接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的员工界面。
56.图3仅示出了具有部件的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
57.例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理系统与所述至少一个处理器10逻辑相连,从而通过电源管理系统实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
58.应该了解,所述实施例仅为说明之用,在专利发明范围上并不受此结构的限制。
59.所述电子设备1中的所述存储器11存储的基于安卓系统的应用程序无感启动程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:获取安卓系统中待启动的应用程序,并查询所述应用程序在所述安卓系统中的设备主页面,基于所述设备主页面,配置所述应用程序的应用加载页面;获取所述应用程序的启动指令,根据所述启动指令,查询所述应用程序的启动状态;在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动;在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程,在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面,并创建所述加载页面在所述应用程序中的运行进程,基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动。
60.具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
61.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或系统、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
62.本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备1的处理器所执行时,可以实现:获取安卓系统中待启动的应用程序,并查询所述应用程序在所述安卓系统中的设备主页面,基于所述设备主页面,配置所述应用程序的应用加载页面;获取所述应用程序的启动指令,根据所述启动指令,查询所述应用程序的启动状态;在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动;在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程,在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面,并创建所述加载页面在所述应用程序中的运行进程,基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动。
63.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
64.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
65.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
66.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
67.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
68.本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
69.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中
陈述的多个单元或系统也可以由一个单元或系统通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
70.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

技术特征:


1.一种基于安卓系统的应用程序无感启动方法,其特征在于,所述方法包括:获取安卓系统中待启动的应用程序,并查询所述应用程序在所述安卓系统中的设备主页面,基于所述设备主页面,配置所述应用程序的应用加载页面;获取所述应用程序的启动指令,根据所述启动指令,查询所述应用程序的启动状态;在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动;在所述启动状态为未启动状态时,创建所述启动页面在所述应用程序中的服务进程,在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面,并创建所述加载页面在所述应用程序中的运行进程,基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动。2.如权利要求1所述的基于安卓系统的应用程序无感启动方法,其特征在于,所述基于所述设备主页面,配置所述应用程序的应用加载页面,包括:查询所述安卓系统中的可绘制资源配置文件,获取所述应用程序所在的设备屏幕的顶级窗口视图,并确定所述顶级窗口视图的布局位置;根据所述应用程序的业务场景和所述布局位置,构建所述应用程序的初始加载页面;在所述可绘制资源配置文件中查询所述初始加载页面的目标可绘制文件;识别所述设备主页面对应的设备系统密度;根据所述目标可绘制文件和所述设备系统密度,调整所述初始加载页面的视图尺寸,得到所述应用程序的应用加载页面。3.如权利要求2所述的基于安卓系统的应用程序无感启动方法,其特征在于,所述根据所述应用程序的业务场景和所述布局位置,构建所述应用程序的初始加载页面,包括:根据所述应用程序的业务场景,获取所述应用程序的业务需求;根据所述业务需求,配置所述应用程序的窗口属性;查询所述窗口属性对应的窗口修饰布局文件,并膨胀所述窗口修饰布局文件,生成所述应用程序的窗口视图;将所述窗口视图分布在所述布局位置上,以构建所述应用程序的初始加载页面。4.如权利要求2所述的基于安卓系统的应用程序无感启动方法,其特征在于,所述根据所述目标可绘制文件和所述设备系统密度,调整所述初始加载页面的视图尺寸,得到所述应用程序的应用加载页面,包括:根据所述目标可绘制文件和所述设备系统密度,利用下述公式计算所述初始加载页面的视图调整比例:其中,表示初始加载页面的视图调整比例,表示设备系统密度,表示目标可绘制文件对应的图片密度;根据所述视图调整比例,构建所述应用程序的应用加载页面。5.如权利要求1所述的基于安卓系统的应用程序无感启动方法,其特征在于,所述根据
所述启动指令,查询所述应用程序的启动状态,包括:根据所述启动指令,获取所述应用程序的启动时刻,根据预设的时间阈值和所述启动时刻,计算所述应用程序对应设备屏幕的抓取时刻;根据屏幕抓取时刻,抓取所述应用程序所在设备的当前设备屏幕;识别所述设备屏幕对应顶级窗口视图的区域位置,查询所述当前设备屏幕在所述区域位置中的目标区域视图;判断所述目标区域视图的视图状态,所述视图状态包括黑屏状态、白屏状态以及模糊状态;在所述视图状态为黑屏状态,判定所述应用程序的启动状态为未启动状态;在所述视图状态为白屏状态,判定所述应用程序的启动状态为未启动状态;在所述视图状态为模糊状态,判定所述应用程序的启动状态为已启动状态。6.如权利要求5所述的基于安卓系统的应用程序无感启动方法,其特征在于,所述判断所述目标区域视图的视图状态,所述视图状态包括黑屏状态、白屏状态,模糊状态,包括:根据所述目标区域视图,利用灰度转换算法,对所述目标区域视图进行灰度转换,得到视图灰度图像,提取所述视图灰度图像的每个像素点的灰度值;若所述灰度值为第一阈值,则所述目标区域视图的视图状态为黑屏状态;若所述灰度值为第二阈值,则所述目标区域视图的视图状态为白屏状态;若所述灰度值不为第一阈值且不为第二阈值,则所述目标区域视图的视图状态为模糊状态。7.如权利要求1所述的基于安卓系统的应用程序无感启动方法,其特征在于,所述基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动,包括:利用进程间通信机制中的驱动方式,从所述启动进程发送附属应用请求到所述应用程序对应的系统服务进程;根据所述附属应用请求,利用进程间通信机制中的驱动方式,在所述系统服务进程中发送计划启动请求到所述启动进程的驱动线程中;根据所述计划启动请求,利用异步消息通信机制,在所述驱动线程中发送启动请求到所述启动进程的主线程;根据所述启动请求,利用java反射机制和创建方法,创建所述应用程序的目标加载页面,并将所述目标加载页面更改为所述启动页面,以实现所述启动页面在所述应用程序中的页面启动。8.一种基于安卓系统的应用程序无感启动装置,其特征在于,所述装置包括:加载页面配置模块,用于获取安卓系统中待启动的应用程序,并查询所述应用程序在所述安卓系统中的设备主页面,基于所述设备主页面,配置所述应用程序的应用加载页面;启动状态查询模块,用于获取所述应用程序的启动指令,根据所述启动指令,查询所述应用程序的启动状态;启动进程创建模块,用于在所述启动状态为已启动状态时,将所述应用加载页面作为所述应用程序的启动页面,并创建所述启动页面在所述应用程序中的启动进程,基于所述启动进程,执行所述启动页面在所述应用程序中的页面启动;启动页面重构模块,用于在所述启动状态为未启动状态时,创建所述启动页面在所述
应用程序中的服务进程,在所述服务进程中定义所述应用加载页面的主题样式和适配尺寸,以重构所述应用程序的加载页面,并创建所述加载页面在所述应用程序中的运行进程,基于所述运行进程,执行所述加载页面在所述应用程序中的页面启动。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任意一项所述的基于安卓系统的应用程序无感启动方法。10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的基于基于安卓系统的应用程序无感启动方法。

技术总结


本发明涉及数据处理领域,揭露一种基于安卓系统的应用程序无感启动方法,包括:查询应用程序在安卓系统中的设备主页面,以配置应用程序的应用加载页面;获取应用程序的启动指令,以查询应用程序的启动状态;在启动状态为已启动状态时,将应用加载页面作为应用程序的启动页面,创建启动页面在应用程序的启动进程,基于启动进程,执行启动页面在应用程序的页面启动;在启动状态为未启动状态时,创建启动页面在应用程序中的服务进程,在服务进程中定义应用加载页面的主题样式和适配尺寸,以重构应用程序的加载页面,创建加载页面在应用程序的运行进程,基于运行进程,执行加载页面在应用程序中的页面启动。本发明可以提升应用程序启动的用户体验。序启动的用户体验。序启动的用户体验。


技术研发人员:

吴秀兰 齐智文 苏国龙

受保护的技术使用者:

江西云智谷显示科技有限公司

技术研发日:

2022.11.02

技术公布日:

2022/12/12

本文发布于:2022-12-15 05:51:21,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/34150.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   应用程序   页面   状态
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图