CN114489842A - 一种基于Android平台加速应用启动方法 - Google Patents

一种基于Android平台加速应用启动方法 Download PDF

Info

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
Application number
CN202210049046.7A
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.)
Chongqing Changan Automobile Co Ltd
Original Assignee
Chongqing Changan Automobile 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 Chongqing Changan Automobile Co Ltd filed Critical Chongqing Changan Automobile Co Ltd
Priority to CN202210049046.7A priority Critical patent/CN114489842A/zh
Publication of CN114489842A publication Critical patent/CN114489842A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring 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平台加速应用启动方法。
背景技术
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,如不需则进入热启动模式。
CN202210049046.7A 2022-01-17 2022-01-17 一种基于Android平台加速应用启动方法 Pending CN114489842A (zh)

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)

* Cited by examiner, † Cited by third party
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操作系统快速启动的方法及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
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