CN114489842A - 一种基于Android平台加速应用启动方法 - Google Patents
一种基于Android平台加速应用启动方法 Download PDFInfo
- Publication number
- CN114489842A CN114489842A CN202210049046.7A CN202210049046A CN114489842A CN 114489842 A CN114489842 A CN 114489842A CN 202210049046 A CN202210049046 A CN 202210049046A CN 114489842 A CN114489842 A CN 114489842A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- xml configuration
- application
- starting
- apk
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000001133 acceleration Effects 0.000 title claims abstract description 11
- 239000011230 binding agent Substances 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 6
- 238000012360 testing method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
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
本发明公开了一种基于Android平台加速应用启动方法,包括以下步骤:S110、配置预加载文件;S120、读取XML配置文件;S130、包管理机制查找XML配置文件中的APK;S140、启动XML配置文件中的进程;S150、后台生成热启动模式。本发明将应用启动直接切到了热启动模式,在用户无感知的情况下极大的提高了应用启动速度,实现了没有做过启动优化的应用程序亦能很快的展示出来,做过常规启动优化的应用程序更能大幅提升各自的启动效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于Android平台加速应用启动方法。
背景技术
Android(安卓)系统是一种以Linux为基础的开放源代码操作系统,作为一款开放式的操作系统,随着Android系统的快速发展,如今已允许开发全者使用多种编程语言来开发Android应用程序,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。与此同时,用户也通过下载和安装各种应用程序来满足自己各方面的需求,比如导航、语音、阅读等。然而部分应用开发者为了自身利益,在其开发的应用在启动界面、应用内界面展示广告等,这些广告大多作为图片类型的资源文件打包在应用安装包中,由此致使应用启动缓慢,影响了用户的情绪和体验。为致力于更快的应用启动,为用户带来愉悦的体验,通常采用以下几种方式加速应用启动:
1、通过设置window背景,替换主题theme背景,利用提前展示window的方式,快速预览一个画面,给用户一个直观体验。
2、通过延迟加载的技术,首次不加载相关数据,待系统启动后延迟一定时间加载资源。
3、如公开号为CN108762833A的发明专利公开了安卓系统中的应用启动方法,该技术方案将原本作为应用启动过程中串行执行的资源文件加载过程独立出来,进行并行化操作,大大节约了应用启动时间,对于冷启动、即智能终端开机后第一次启动应用的场景来说,可以节约100毫秒左右的时间,用户能够明显感知应用启动加速,同时也保证了应用本身的内容得到了完整展现。该方案在应用启动时判断是否需要预加载资源文件,将资源文件加载到缓冲区,对于应用启动时间也仅是提高了100毫秒,这对于用户感知来说是微乎其微的。
上述几种方式都没有本质的解决加速应用启动时间,再加上得首页开屏启动后,大多厂商都会启动广告页面,通过TCP访问网络下载对应的广告资源,更是延迟了应用的启动时间。
发明内容
针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种基于Android平台加速应用启动方法,解决应用启动时间效率不高的问题。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种基于Android平台加速应用启动方法,包括以下步骤:
S110、配置预加载文件;
S120、读取XML配置文件;
S130、包管理机制查找XML配置文件中的APK;
S140、启动XML配置文件中的进程;
S150、后台生成热启动模式。
进一步地,在步骤S110中,配置预加载文件时,采用XML语言描述,写入需预加载应用程序包名,进而生成XML配置文件。
进一步地,在步骤S120中,读取XML配置文件时,通过NIO或SAX解析XML配置文件,并生成缓存信息。
进一步地,在步骤S130中,通过Binder发送跨进程通信,调用包管理机制遍历查找XML配置文件中的APK,并保存到系统缓存中。
进一步地,启动XML配置文件中的进程时,通过步骤S130中查找到的APK列表,发送消息给ActivityManagerService通知启动列表中的进程,ActivityManagerService发送消息给Zygote启动对应的应用进程。
进一步地,根据XML配置文件属性,判断是否拉取应用进程的根Activity,如不需则进入热启动模式。
与现有技术相比,本发明的有益效果在于:
1、本方案将应用启动直接切到了热启动模式,在用户无感知的情况下极大的提高了应用启动速度,实现了没有做过启动优化的应用程序亦能很快的展示出来,做过常规启动优化的应用程序更能大幅提升各自的启动效率,解决了应用启动时间效率不高的问题。
2、实际测试(通过命令adb shell am start –W xxx进行测试)从冷启动切到热启动模式启动时间从1439ms降低到3ms,极大的优化了用户使用体验。
附图说明
为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为本发明整体结构流程图;
图2为本发明进程启动流程图。
具体实施方式
下面结合附图对本发明作进一步的详细说明。
如图1所示,本实施例中公开了一种基于Android平台加速应用启动方法,包括以下步骤:
S110、配置预加载文件;
S120、读取XML配置文件;
S130、包管理机制查找XML配置文件中的APK(AndroidPackage的缩写,即Android安装包);
S140、启动XML配置文件中的进程;
S150、后台生成热启动模式。
本发明中,通过开机自读取XML配置文件,并生成缓存信息;调用包管理机制查找XML配置文件中的APK,并保存到系统缓存中,且发送消息给ActivityManagerService(后续简称AMS)通知启动列表中的进程,AMS在发送消息给Zygote启动对应的应用进程。本方案直接切到了系统的热启动模式,在用户无感知的情况下极大的提高了应用启动速度,实现了没有做过启动优化的应用程序亦能很快的展示出来,做过常规启动优化的应用程序更能大幅提升各自的启动效率,解决应用启动时间效率不高的问题。
具体配置预加载文件时,采用XML语言描述,写入需预加载应用程序包名,进而生成XML配置文件。XML配置文件包括OEM应用和第三方所需介入应用,例如导航、语音等。
开机自读取XML配置文件时,通过系统的NIO或SAX等工具类API(ApplicationProgramming Interface,应用程序接口)解析XML配置文件,并生成缓存信息,以备后续使用。
具体实施时,通过Binder发送跨进程通信,调用包管理机制遍历查找XML配置文件中的APK,并保存到系统缓存中。以便从进程启动APK。
参见图2所示,启动XML配置文件中的进程时,首先通过步骤S130中查找到的APK列表,发送消息给AMS通知启动列表中的进程,AMS发送消息给Zygote启动对应的应用进程。在启动应用程序自己的进程后,可通过hook技术或者修改系统源码,拦截应用程序原生的下一步操作,通常来说是启动当前应用程序的根Activity。通过读取当前配置的文件属性,判断是否需要拉起当前应用程序的界面,如需要则拉起,如不需则进入热启动模式。
这样,在用户后续操作当前应用时,默认从热启动模式启动,以快速展示,避免了首次冷启动的系列资源初始化。实际测试(通过命令adb shell am start –W xxx进行测试)从冷启动切到热启动模式启动时间从1439ms降低到3ms,极大的优化了用户使用体验。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变。凡是属于本发明的技术方案所引申出的显而易见的改变仍处于本发明的保护范围之列。
Claims (6)
1.一种基于Android平台加速应用启动方法,其特征在于,包括以下步骤:
S110、配置预加载文件;
S120、读取XML配置文件;
S130、包管理机制查找XML配置文件中的APK;
S140、启动XML配置文件中的进程;
S150、后台生成热启动模式。
2.根据权利要求1所述一种基于Android平台加速应用启动方法,其特征在于,在步骤S110中,配置预加载文件时,采用XML语言描述,写入需预加载应用程序包名,进而生成XML配置文件。
3.根据权利要求1所述一种基于Android平台加速应用启动方法,其特征在于,在步骤S120中,读取XML配置文件时,通过NIO或SAX解析XML配置文件,并生成缓存信息。
4.根据权利要求1所述一种基于Android平台加速应用启动方法,其特征在于,在步骤S130中,通过Binder发送跨进程通信,调用包管理机制遍历查找XML配置文件中的APK,并保存到系统缓存中。
5.根据权利要求1所述一种基于Android平台加速应用启动方法,其特征在于,启动XML配置文件中的进程时,通过步骤S130中查找到的APK列表,发送消息给ActivityManagerService通知启动列表中的进程,ActivityManagerService发送消息给Zygote启动对应的应用进程。
6.根据权利要求5所述一种基于Android平台加速应用启动方法,其特征在于,根据XML配置文件属性,判断是否拉取应用进程的根Activity,如不需则进入热启动模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210049046.7A CN114489842A (zh) | 2022-01-17 | 2022-01-17 | 一种基于Android平台加速应用启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210049046.7A CN114489842A (zh) | 2022-01-17 | 2022-01-17 | 一种基于Android平台加速应用启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489842A true CN114489842A (zh) | 2022-05-13 |
Family
ID=81511195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210049046.7A Pending CN114489842A (zh) | 2022-01-17 | 2022-01-17 | 一种基于Android平台加速应用启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489842A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514007A (zh) * | 2012-08-31 | 2014-01-15 | Tcl集团股份有限公司 | 一种基于Android系统的移动终端的热启动的方法 |
CN106547598A (zh) * | 2016-11-22 | 2017-03-29 | 四川长虹电器股份有限公司 | 提升Android应用程序启动速度的方法 |
CN106844033A (zh) * | 2017-01-23 | 2017-06-13 | 努比亚技术有限公司 | 一种应用快速启动方法和终端 |
CN111930429A (zh) * | 2020-07-07 | 2020-11-13 | 上海商米科技集团股份有限公司 | 一种Android操作系统快速启动的方法及电子设备 |
-
2022
- 2022-01-17 CN CN202210049046.7A patent/CN114489842A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514007A (zh) * | 2012-08-31 | 2014-01-15 | Tcl集团股份有限公司 | 一种基于Android系统的移动终端的热启动的方法 |
CN106547598A (zh) * | 2016-11-22 | 2017-03-29 | 四川长虹电器股份有限公司 | 提升Android应用程序启动速度的方法 |
CN106844033A (zh) * | 2017-01-23 | 2017-06-13 | 努比亚技术有限公司 | 一种应用快速启动方法和终端 |
CN111930429A (zh) * | 2020-07-07 | 2020-11-13 | 上海商米科技集团股份有限公司 | 一种Android操作系统快速启动的方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10871973B2 (en) | Application activation method and apparatus | |
US11010538B2 (en) | Systems and methods for hosted applications | |
US11016785B2 (en) | Method and system for mirror image package preparation and application operation | |
US20160162272A1 (en) | Method and apparatus for loading a rendering engine | |
WO2021164367A1 (zh) | 一种容器镜像的提供方法、加载方法及相关设备和系统 | |
WO2017215088A1 (zh) | Ota开机加速方法及系统 | |
KR101116939B1 (ko) | 이동 단말기 및 상기 이동 단말기에서 웹 애플리케이션 실행 방법 | |
US20220124171A1 (en) | Execution of user interface (ui) tasks having foreground (fg) and background (bg) priorities | |
CN112650541A (zh) | 一种应用程序启动加速方法、系统、设备及存储介质 | |
CN114489842A (zh) | 一种基于Android平台加速应用启动方法 | |
CN116028267A (zh) | 双系统安全手机重置方法、装置、服务器及存储介质 | |
CN113590179B (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN112492091B (zh) | 对应用的处理方法、装置、终端及存储介质 | |
CN113986385A (zh) | 项目字体库加载方法、装置、电子设备及存储介质 | |
CN107506196B (zh) | 一种基于安卓系统的开机动画处理方法、设备及存储装置 | |
US20040216140A1 (en) | Method and system for accessing system operations through an interface layer | |
CN108228307B (zh) | 应用的显示方法、装置、存储介质及电子设备 | |
CN112612531A (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
CN114666514B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN113704187B (zh) | 用于生成文件的方法、装置、服务器及计算机可读介质 | |
CN113076725B (zh) | 一种基于ppt推广第三方软件的方法及终端 | |
CN114157995B (zh) | 蓝牙组网方法、装置、电子设备和计算机可读存储介质 | |
US20240045701A1 (en) | Method, device and system for loading page data | |
CN115454514A (zh) | 一种应用程序的多语言支持方法及其相关组件 | |
CN117251240A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220513 |