CN114327652A - 一种基于Android工业应用的快速启动方法 - Google Patents
一种基于Android工业应用的快速启动方法 Download PDFInfo
- Publication number
- CN114327652A CN114327652A CN202111595338.2A CN202111595338A CN114327652A CN 114327652 A CN114327652 A CN 114327652A CN 202111595338 A CN202111595338 A CN 202111595338A CN 114327652 A CN114327652 A CN 114327652A
- Authority
- CN
- China
- Prior art keywords
- preloader
- industrial application
- zygoteinit
- android
- started
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims description 19
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 6
- 230000036316 preload Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种基于Android工业应用的快速启动方法,属于Android工业应用技术领域。本发明通过去除一些特殊工业场景应用不到的程序,去除一些不相干的系统服务和驱动加载,简化preloader启动,从而从整体上精简系统的程序。本发明通过在保留了原始稳定的架构的基础上,极大地提高了开机速度,基本能做到即插即用的工业级智能产品的开机速度。原本的开机速度经过以上优化之后,工业设备开机速度在10秒以内。
Description
技术领域
本发明属于Android工业应用技术领域,尤其与一种基于Android工业应用的快速启动方法有关。
背景技术
随着Android平台自08年第一个商用版本开放以来,经过广大平台厂商的不断开拓,每1~2年就会有一个全新功能特点的版本发布出来。这些版本遵从市场和用户体验,增加了很多优秀的功能,满足各类用户不同场景的应用体验。安全机制也在不断的升级加固,新的漏洞发现就会有新的补丁合入;并对用户数据的安全做了更多的保护,从各个角度限制了用户数据的直接访问。为了解耦原来的程序,架构也进行着不断的调整,方便OEM厂商的开发。
随着Android系统不断的完善优化,为了不同的用处,新的程序功能也不停的融入,用户体验度也更加满意,使得Android在市场的地位不断提升。但Android系统却有一个明显的缺点,随着新代码的合入,整个系统变得更加庞大,开机时需要加载运行更多的代码。一般有一些内置应用的设备,开机时最少的也要接近30秒。对比一些工业级应用场景,比如linux系统,开机速度就会显得非常慢,是难以接受的。
发明内容
针对上述背景技术存在的问题,本发明旨在提供一种基于Android工业应用的快速启动方法。
为此,本发明采用以下技术方案:一种基于Android工业应用的快速启动方法,将开机启动过程
preloader>lk>kernel>initcall>zygoteinit>SystemServer中串行的执行过程中,将耗时的有四个点:preloader,initcall,zygoteinit,SystemServer startServices,PackageManagerService Scan App(服务扫描程序)进行以下操作:针对preloader的优化去掉USB握手的过程;针对Initcall的程序进行简化,且将针对一些修改权限的程序放在uevent.rc中执行;ZygoteInit中针对class的加载项进行缩减,保留class的加载;SystemServer中启动服务时去掉非必须的服务启动,PMS的优化减少scanApp数量。
作为对上述技术方案的补充和完善,本发明还包括以下技术特征。
Preloader,预加载程序;lk是(L)ittle (K)ernel的缩写。 高通平台android普遍采用LK作为其bootloader,LK是一个开源项目,LK是整个系统的引导部分;initcall为初始化调用;zygoteinit为服务器启动;SystemServer startServices为系统预装软件启动。
减少scanApp数量后可使用异步进程去执行scanAppp。
本发明可以达到以下有益效果:1、本发明通过在保留了原始稳定的架构的基础上,极大地提高了开机速度,基本能做到即插即用的工业级智能产品的开机速度。。
具体实施方式
下面对本发明的具体实施方式进行详细描述,所描述的实施例只是对本发明的说明和解释,并不构成对本发明的唯一限定。
本发明基于Android工业应用的快速启动方法,将开机启动过程
preloader>lk>kernel>initcall>zygoteinit>SystemServer中串行的执行过程中,将耗时的有四个点:preloader,initcall,zygoteinit,SystemServer startServices,PackageManagerService Scan App进行以下操作:针对preloader的优化去掉USB握手的过程;针对Initcall的程序进行简化,且将针对一些修改权限的程序放在uevent.rc中执行;ZygoteInit中针对class的加载项进行缩减,保留class的加载;SystemServer中启动服务时去掉非必须的服务启动,PMS的优化减少scanApp数量。
正常的开机启动过程
preloader>lk>kernel>initcall>zygoteinit>SystemServer(PMS,
AMS)等,是一个串行的执行过程。通过分析比较耗时的有四个点,preloader,initcall,zygoteinit,SystemServer startServices,PackageManagerService Scan App的过程。
具体应用如下:
一、去除preloader的usb握手程序,改用fastboot模式刷机。工业设备大多数使用的usb供电的方式,但mtk平台在关机状态下插入USB会去主动进行USB握手,判断是否进入刷机模式。这里可以用明确的fastboot模式刷机去替代,直接去除USB握手的过程。
二、删减kernel中无用的驱动,比如项目不需要显示相关,可以去掉LCM,HDMI等驱动的加载。
三、删减init.{project}.rc中的一些无用的启动项。
四、 对init.{project}.rc一些对权限和属性的修改程序,可以放到uevent.rc中延后执行。
五、去除bootanimation程序。
六、优化ZygoteInit。修改PRELOAD_RESOURCES为false,不预加载资源文件。简化preloaded-classes文件列表,减少预加载的class数量。这个kernelinit后第一个启动的程序,之后的启动流程就是系统framework层。
七、优化SystemServer。服务的加载都在这里进行,可以去除一些无关的服务启动。除了几个核心的服务启动方法不能动,比如startBootStrapService,startCoreService,以及startOtherService中的InputMethodService,其他Service基本都可以去掉,减少服务加载时间。
八、优化PackageManagerService加载时间。这里方法有三个:1、Scan和Load App的程序放在异步进程中执行。 2、尽可能的减少应用的内置,甚至系统级应用SystemUI,Settings等的加载都可以去除。3、启用MTK针对APP的编译优化方案,build/core/dex_preopt.mk打开WITH_DEXPREOPT=true。
本发明针对preloader的优化主要是去掉了USB握手的过程。Initcall的程序进行简化,针对一些修改权限的程序放在uevent.rc中执行,ZygoteInit中主要针对class的加载项进行缩减,保留主要的class的加载,SystemServer中启动服务时去掉了一些非必须的服务启动,PMS的优化主要在减少scanApp数量,但实际有些APP还是需要scan的,所以这里可以使用异步进程去执行scanAppp。另外在去除APP时要保留桌面等CoreApp,否则会造成系统开启失败。本发明在原本的开机速度经过以上优化之后,android5.1 MTK6580平台的工业设备开机速度在10秒以内对上层framework部分的深度修改精简,通过对SystemServer的修改对比测试,确定哪些部分服务可以删除,对PMS ScanApp的异步程序加载的做法。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (3)
1.一种基于Android工业应用的快速启动方法,其特征在于:将开机启动过程
preloader>lk>kernel>initcall>zygoteinit>SystemServer中串行的执行过程中,将耗时的有四个点:preloader,initcall,zygoteinit,SystemServer startServices,PackageManagerService Scan App进行以下操作:针对preloader的优化去掉USB握手的过程;针对Initcall的程序进行简化,且将针对一些修改权限的程序放在uevent.rc中执行;ZygoteInit中针对class的加载项进行缩减,保留class的加载;SystemServer中启动服务时去掉非必须的服务启动,PMS的优化减少scan App数量。
2.根据权利要求1所述的一种基于Android工业应用的快速启动方法,其特征在于:Preloader,预加载程序;lk是(L)ittle (K)ernel的缩写,高通平台android普遍采用LK作为其bootloader,LK是一个开源项目,LK是整个系统的引导部分;initcall为初始化调用;zygoteinit为服务器启动;SystemServer为系统预装软件启动。
3.根据权利要求1或2所述的一种基于Android工业应用的快速启动方法,其特征在于:减少scanApp数量后可使用异步进程去执行scanApp。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111595338.2A CN114327652B (zh) | 2021-12-24 | 2021-12-24 | 一种基于Android工业应用的快速启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111595338.2A CN114327652B (zh) | 2021-12-24 | 2021-12-24 | 一种基于Android工业应用的快速启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327652A true CN114327652A (zh) | 2022-04-12 |
CN114327652B CN114327652B (zh) | 2023-11-10 |
Family
ID=81013617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111595338.2A Active CN114327652B (zh) | 2021-12-24 | 2021-12-24 | 一种基于Android工业应用的快速启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327652B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008098741A (ja) * | 2006-10-06 | 2008-04-24 | Promedia Works:Kk | テロップ生成装置およびテロップ合成方法 |
CN104252363A (zh) * | 2013-06-25 | 2014-12-31 | 上海博泰悦臻电子设备制造有限公司 | 基于Android系统的车载系统的快速启动方法 |
CN104679631A (zh) * | 2015-03-23 | 2015-06-03 | 重庆蓝岸通讯技术有限公司 | 用于基于Android系统的设备的测试方法及系统 |
CN104731600A (zh) * | 2015-03-31 | 2015-06-24 | 上海盈方微电子有限公司 | 一种将安卓系统服务插件化的实现方法 |
CN104778060A (zh) * | 2015-04-07 | 2015-07-15 | 珠海全志科技股份有限公司 | 一种嵌入式Linux系统快速安全启动方法 |
CN105308908A (zh) * | 2013-06-09 | 2016-02-03 | 苹果公司 | 减少无线通信设备的网络服务扫描时间 |
CN107203386A (zh) * | 2017-06-09 | 2017-09-26 | 山东超越数控电子有限公司 | 一种基于ARM平台的Android系统加速启动方法 |
CN111124519A (zh) * | 2019-12-27 | 2020-05-08 | 珠海全志科技股份有限公司 | 基于输入响应优化安卓应用程序启动速度的方法及系统 |
CN112395015A (zh) * | 2020-11-18 | 2021-02-23 | 珠海全志科技股份有限公司 | 基于Android系统加速开机的优化方法及装置 |
CN115098190A (zh) * | 2022-06-30 | 2022-09-23 | 苏州浪潮智能科技有限公司 | 一种提高ssd系统启动速度的方法、装置、终端及存储介质 |
-
2021
- 2021-12-24 CN CN202111595338.2A patent/CN114327652B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008098741A (ja) * | 2006-10-06 | 2008-04-24 | Promedia Works:Kk | テロップ生成装置およびテロップ合成方法 |
CN105308908A (zh) * | 2013-06-09 | 2016-02-03 | 苹果公司 | 减少无线通信设备的网络服务扫描时间 |
CN104252363A (zh) * | 2013-06-25 | 2014-12-31 | 上海博泰悦臻电子设备制造有限公司 | 基于Android系统的车载系统的快速启动方法 |
CN104679631A (zh) * | 2015-03-23 | 2015-06-03 | 重庆蓝岸通讯技术有限公司 | 用于基于Android系统的设备的测试方法及系统 |
CN104731600A (zh) * | 2015-03-31 | 2015-06-24 | 上海盈方微电子有限公司 | 一种将安卓系统服务插件化的实现方法 |
CN104778060A (zh) * | 2015-04-07 | 2015-07-15 | 珠海全志科技股份有限公司 | 一种嵌入式Linux系统快速安全启动方法 |
CN107203386A (zh) * | 2017-06-09 | 2017-09-26 | 山东超越数控电子有限公司 | 一种基于ARM平台的Android系统加速启动方法 |
CN111124519A (zh) * | 2019-12-27 | 2020-05-08 | 珠海全志科技股份有限公司 | 基于输入响应优化安卓应用程序启动速度的方法及系统 |
CN112395015A (zh) * | 2020-11-18 | 2021-02-23 | 珠海全志科技股份有限公司 | 基于Android系统加速开机的优化方法及装置 |
CN115098190A (zh) * | 2022-06-30 | 2022-09-23 | 苏州浪潮智能科技有限公司 | 一种提高ssd系统启动速度的方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114327652B (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10235149B2 (en) | Preinstalled application management method for mobile terminal and mobile terminal | |
US8291209B2 (en) | Integration model for instant-on environment | |
RU2435200C2 (ru) | Быстрая загрузка операционной системы из выключенного состояния | |
US9996142B2 (en) | Selective power management for pre-boot firmware updates | |
AU2012375273B2 (en) | Method and system for verifying proper operation of a computing device after a system change | |
US9558016B2 (en) | Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product | |
US8751783B2 (en) | Booting computing devices with EFI aware operating systems | |
US8484631B2 (en) | Supporting hardware configuration changes in a UEFI firmware component | |
US8370614B2 (en) | Booting a computer device | |
US8312256B2 (en) | Display of a basic input/output system (BIOS) productivity display | |
JP5200085B2 (ja) | コンピュータを短時間で起動する方法およびコンピュータ | |
JP2011103093A (ja) | 高速で起動するコンピュータ | |
US7080244B2 (en) | System and method for configuring hardware devices using a menu for platforms with EFI and legacy option-ROMs | |
CN102262555B (zh) | 加载java三方库的不同版本的方法和装置 | |
CN102135923A (zh) | 将操作系统集成到bios芯片的方法及启动该操作系统的方法 | |
CN114327652A (zh) | 一种基于Android工业应用的快速启动方法 | |
CN106155682A (zh) | 一种基于SDMA控制器的Linux系统启动方法及系统 | |
WO2015184902A1 (zh) | 一种智能分屏的并发处理方法及相应的智能终端 | |
CN113821265B (zh) | 操作系统控制方法、装置、计算机主板和可读存储介质 | |
WO2008048581A1 (en) | A processing device operation initialization system | |
TWI777636B (zh) | 組成模組化韌體的方法、裝置及電腦程式產品 | |
Lim et al. | BB: Booting Booster for consumer electronics with modern OS | |
KR101384929B1 (ko) | 사용자 단말의 저장 매체를 위한 미디어 스캐닝 방법 및 미디어 스캐닝 장치 | |
CN112835595B (zh) | 一种小核架构上运行aix系统的方法、装置、设备及介质 | |
CN117891682A (zh) | Linux系统隐藏进程的方法、装置、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |