CN103514007A - 一种基于Android系统的移动终端的热启动的方法 - Google Patents
一种基于Android系统的移动终端的热启动的方法 Download PDFInfo
- Publication number
- CN103514007A CN103514007A CN201210317478.8A CN201210317478A CN103514007A CN 103514007 A CN103514007 A CN 103514007A CN 201210317478 A CN201210317478 A CN 201210317478A CN 103514007 A CN103514007 A CN 103514007A
- Authority
- CN
- China
- Prior art keywords
- zygote
- mobile terminal
- warm start
- terminal based
- android
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Telephone Function (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于Android系统的移动终端的热启动的方法,当所述移动终端接收用户的热启动指令后,终止Zygote及Zygote创建的所有子程序;然后,Zygote重新启动,Zygote重新创建系统服务进程和预先设定的Android服务程序,完成热启动。从而无需对移动终端断电便可实现重新启动,一方面减少了系统重启所花费的时间,另一方面加快了系统运行的速度(所有服务都被重启),提高了用户体验。
Description
技术领域
本发明涉及Android应用技术领域,特别涉及用于一种基于Android系统的移动终端的热启动的方法。
背景技术
Android(安卓)系统是一种以Linux为基础的开放源代码操作系统,作为一款开放式的操作系统,随着Android系统的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。
基于Android系统的智能手机目前越来越普及,相对于非智能手机而言,智能手机在开机速度上所花费的时间是比较长的。当使用的应用程序存在内存泄露,或者占用的内存比较大的话,会导致Android系统越用越慢,智能手机出现卡顿的现象。
目前,当出现卡顿等现象时,用户通常的做法是长按关机键关掉Android系统然后再开机,有时候甚至迫不得已采用抠电池的极端方式关闭系统,然后再花费很长的时间来开机,从而给用户带来不便。
有鉴于此,现有技术还有待改进和提高。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种基于Android系统的移动终端的热启动的方法,以解决现有技术中的基于Android系统的智能手机,长时间使用后系统变慢时,只能长按关机键或采用断电等方式来关闭系统,再重新启动的问题。
为了达到上述目的,本发明采取了以下技术方案:
一种基于Android系统的移动终端的热启动的方法,其中,所述方法包括以下步骤:
STA、所述移动终端接收用户的热启动指令,终止Zygote及Zygote创建的所有子程序;
STB、Zygote重新启动, Zygote重新创建系统服务进程和预先设定的Android服务程序,完成热启动。
优选地,所述的基于Android系统的移动终端的热启动的方法,其中,所述步骤A具体包括:
ST1、移动终端开机时启动一可执行文件CmdServer,运行Socket服务端,并监听重新启动的指令端口;
ST2、所述移动终端接收用户的热启动指令,找到Zygote的进程ID号,建立Socket客户端,通过Socket客户端将所述Zygote的进程ID号发送到重新启动的指令端口;
ST3、Socket服务端接收到来自重新启动的指令端口的Zygote的进程ID号,终止Zygote;
ST4、Zygote的父进程Init接收到Zygote的终止信息后,终止Zygote创建的所有子进程。
优选地,所述的基于Android系统的移动终端的热启动的方法,其中,所述步骤ST1中的重新启动的指令端口为5200端口。
优选地,所述的基于Android系统的移动终端的热启动的方法,其中,所述步骤ST3中Socket服务端终止Zygote具体采用以下步骤:
Socket服务端调用system()函数,执行命令“kill -9 Zygote的进程ID号”。
优选地,所述的基于Android系统的移动终端的热启动的方法,其中,所述步骤ST4中还包括:
Init标记init.svc.zygote的值为restarting。
优选地,所述的基于Android系统的移动终端的热启动的方法,其中,所述步骤B具体包括:
Zygote的父进程Init 重新启动Zygote,进而启动Davik VM,Davik VM启动系统服务进程,接着启动Framework和预先设定的Android服务程序。
优选地,所述的基于Android系统的移动终端的热启动的方法,其中,所述Framework包括:Activity Manager和Windows Manager,Activity Manager负责把Home引导完毕。
优选地,所述的基于Android系统的移动终端的热启动的方法,其中,所述移动终端为手机。
有益效果:
相较于现有技术,本发明提供的基于Android系统的移动终端的热启动的方法,无需对移动终端断电便可实现重新启动,一方面减少了系统重启所花费的时间,另一方面加快了系统运行的速度(所有服务都被重启),提高了用户体验。
附图说明
图1为本发明的基于Android系统的移动终端的热启动的方法的流程图。
图2为本发明的基于Android系统的移动终端的热启动的方法中终止Zygote及Zygote创建的所有子程序的实施例的示意图。
具体实施方式
本发明提供一种基于Android系统的移动终端的热启动的方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
首先介绍一下Android系统的启动过程:
Android系统启动过程分为两个阶段,第一个阶段是Linux(一种类UNIX 计算机操作系统)的启动,主要顺序是上电、加载BootLoader(引导加载程序)引导、启动Kernel(即Linux内核)、加载Driver(设备驱动)等,第二个阶段是Android的启动,即内核空间进入用户空间后,第一个运行init程序,该程序启动android的native(本地)服务,包括Servicemanager(服务管理器)和Zygote(孵化器)进程,它们两个奠定了Android的基础。Zygote利用Socket(套接字)通讯,接收ActivityManagerService(活动管理服务,用于提供给ActivityManager接口)的请求,Fork(派生)出各种应用程序。基于上面的描述,本发明的热启动就是不再走第一个阶段,直接进行第二阶段:Android的启动。其中,所有的JAVA应用程序进程以及大部分系统都是由Zygote派生出来的,当Zygote完成了JAVA世界的初创阶段后,就进入了不断等待的阶段,等待子进程的请求,比如创建一个Activity。Zygote主要负责启动system server(系统服务进程)和执行android程序(APK)。成功启动system server后会使用socket方式监听(monitor android apps/prcesses)。
请参阅图1,图1为本发明的基于Android系统的移动终端的热启动的方法的流程图。如图所示,所述方法包括两个步骤:
A、移动终端接收用户的热启动指令,终止Zygote及Zygote创建的所有子程序;
B、移动终端的Zygote重新启动, Zygote重新创建系统服务进程和预先设定的Android服务程序,完成热启动。
下面分别针对上述步骤进行详细介绍:
所述步骤A是当移动终端接收用户的热启动指令后,终止Zygote及Zygote创建的所有子程序。在本实施例中,如图2所示,所述步骤A具体包括:
S1、移动终端开机时启动一可执行文件CmdServer(即请求命令接收服务端),运行Socket服务端,并监听重新启动的指令端口;其中,所述重新启动的指令端口可以任意设定,只要不占用操作系统指定的端口即可。在本实施例中,采用5200端口作为重新启动的指令端口。
S2、所述移动终端(如:手机、PAD等)接收用户的热启动指令,找到Zygote的进程ID号,建立Socket客户端,通过Socket客户端将所述Zygote的进程ID号发送到重新启动的指令端口;其中,所述用户的热启动指令可以采用多种方式,比如,采用一些组合按键(例如:关机键和上键等)。当用户想重新启动移动终端时(如感觉系统变慢等),可以通过组合按键来发送热启动指令。然后,移动终端便去寻找到Zygote的进程ID号,建立Socket客户端(与步骤S1中的Socket服务端对应),通过Socket客户端将所述Zygote的进程ID号发送到重新启动的指令端口。
S3、Socket服务端接收到来自重新启动的指令端口的Zygote的进程ID号,终止Zygote;在本实施例中Socket服务端终止Zygote具体为:Socket服务端调用system()函数,执行命令“kill -9 Zygote的进程ID号”。此时,Zygote便被终止了。
S4、Zygote的父进程Init接收到Zygote的终止信息后,终止Zygote创建的所有子进程。同时,退出JAVA。为了方便后续重启Zygote,在本实施例中,Init标记init.svc.zygote的值为restarting(重新启动)。因为,Init处理完请求后,就会重新启动标记为restarting属性的服务,Zygote就会被再次启动。
当完成了Zygote的终止后,便进行步骤B,此时,Zygote重新启动, Zygote重新创建系统服务进程(也称systemserver,该系统服务的功能是启动所有native(本地)服务以及JAVA核心服务)和预先设定的Android服务程序,完成热启动。具体来说,Zygote的父进程Init 重新启动Zygote,进而启动Davik VM,Davik VM启动系统服务进程,接着启动Framework(框架)和预先设定的Android服务程序。其中,所述Framework包括:Activity Manager(活动管理器,相当于android的一个客户端,用于调用ActivityManagerService的接口)和Windows Manager(窗口管理器)等,Activity Manager负责把Home(桌面程序,即主页)引导完毕。所述预先设定的Android服务程序应当为Android系统的核心程序,即用户开机时,默认启动的。
综上所述,本发明的基于Android系统的移动终端的热启动的方法,当所述移动终端接收用户的热启动指令后,终止Zygote及Zygote创建的所有子程序;然后,Zygote重新启动, Zygote重新创建系统服务进程和预先设定的Android服务程序,完成热启动。从而无需对移动终端断电便可实现重新启动,一方面减少了系统重启所花费的时间,另一方面加快了系统运行的速度(所有服务都被重启),提高了用户体验。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种基于Android系统的移动终端的热启动的方法,其特征在于,所述方法包括以下步骤:
STA、移动终端接收用户的热启动指令,终止Zygote及Zygote创建的所有子程序;
STB、Zygote重新启动, Zygote重新创建系统服务进程和预先设定的Android服务程序,完成热启动。
2.根据权利要求1所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述步骤STA具体包括:
ST1、移动终端开机时启动一可执行文件CmdServer,运行Socket服务端,并监听重新启动的指令端口;
ST2、所述移动终端接收用户的热启动指令,找到Zygote的进程ID号,建立Socket客户端,通过Socket客户端将所述Zygote的进程ID号发送到重新启动的指令端口;
ST3、Socket服务端接收到来自重新启动的指令端口的Zygote的进程ID号,终止Zygote;
ST4、Zygote的父进程Init接收到Zygote的终止信息后,终止Zygote创建的所有子进程。
3.根据权利要求2所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述步骤ST1中的重新启动的指令端口为5200端口。
4.根据权利要求2所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述步骤ST3中Socket服务端终止Zygote具体采用以下步骤:
Socket服务端调用system()函数,执行命令“kill -9 Zygote的进程ID号”。
5.根据权利要求2所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述步骤ST4中还包括:
Init标记init.svc.zygote的值为restarting。
6.根据权利要求2所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述步骤STB具体包括:
Zygote的父进程Init 重新启动Zygote,进而启动Davik VM,Davik VM启动系统服务进程,接着启动Framework和预先设定的Android服务程序。
7.根据权利要求6所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述Framework包括:Activity Manager和Windows Manager,Activity Manager负责把Home引导完毕。
8.根据权利要求1所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述移动终端为手机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210317478.8A CN103514007B (zh) | 2012-08-31 | 2012-08-31 | 一种基于Android系统的移动终端的热启动的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210317478.8A CN103514007B (zh) | 2012-08-31 | 2012-08-31 | 一种基于Android系统的移动终端的热启动的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514007A true CN103514007A (zh) | 2014-01-15 |
CN103514007B CN103514007B (zh) | 2017-09-05 |
Family
ID=49896787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210317478.8A Expired - Fee Related CN103514007B (zh) | 2012-08-31 | 2012-08-31 | 一种基于Android系统的移动终端的热启动的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514007B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376256A (zh) * | 2014-12-02 | 2015-02-25 | 北京奇虎科技有限公司 | 应用程序进程孵化控制方法及装置 |
CN104484223A (zh) * | 2014-12-16 | 2015-04-01 | 北京奇虎科技有限公司 | 一种安卓系统应用关闭方法和装置 |
CN107341407A (zh) * | 2017-07-26 | 2017-11-10 | 惠州Tcl移动通信有限公司 | 基于终端的多安卓系统实现方法、存储介质及终端 |
CN107861827A (zh) * | 2017-10-31 | 2018-03-30 | 努比亚技术有限公司 | 卡屏检测方法、移动终端及计算机可读存储介质 |
CN108073452A (zh) * | 2016-11-10 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种动态语言的运行时环境处理方法、装置和设备 |
CN114090096A (zh) * | 2022-01-21 | 2022-02-25 | 成都云祺科技有限公司 | 一种网络虚拟文件系统实现方法、系统及存储介质 |
WO2022042237A1 (zh) * | 2020-08-31 | 2022-03-03 | 华为技术有限公司 | 加速应用启动的方法、电子设备及计算机存储介质 |
CN114489842A (zh) * | 2022-01-17 | 2022-05-13 | 重庆长安汽车股份有限公司 | 一种基于Android平台加速应用启动方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477509A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | 一种进程自动恢复方法 |
CN102012832A (zh) * | 2010-12-14 | 2011-04-13 | Tcl集团股份有限公司 | 一种加速Android系统启动的方法及装置 |
CN102331947A (zh) * | 2011-10-14 | 2012-01-25 | 中科创达软件科技(北京)有限公司 | 一种Android系统的重启方法 |
US20120096252A1 (en) * | 2010-10-13 | 2012-04-19 | International Business Machines Corporation | Preparing and preserving a system configuration during a hot upgrade |
-
2012
- 2012-08-31 CN CN201210317478.8A patent/CN103514007B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477509A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | 一种进程自动恢复方法 |
US20120096252A1 (en) * | 2010-10-13 | 2012-04-19 | International Business Machines Corporation | Preparing and preserving a system configuration during a hot upgrade |
CN102012832A (zh) * | 2010-12-14 | 2011-04-13 | Tcl集团股份有限公司 | 一种加速Android系统启动的方法及装置 |
CN102331947A (zh) * | 2011-10-14 | 2012-01-25 | 中科创达软件科技(北京)有限公司 | 一种Android系统的重启方法 |
Non-Patent Citations (4)
Title |
---|
JOHNNYLQ: "《http://blog.csdn.net/johnnylq/article/details/6401531》", 27 May 2011 * |
SEUCR: "《http://www.linuxidc.com/Linux/2011-09/43822.htm》", 25 September 2011 * |
舍我其谁: "《http://blog.csdn.net/xieqibao/article/details/6581975》", 3 July 2011, article "Android之zygote与进程创", pages: 1-2 - 4 * |
软吧网友: "《http://www.ruan8.com/soft_13729.html》", 6 January 2012, 软吧, article "快速热启动汉化版Rebooter", pages: 1-2 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376256B (zh) * | 2014-12-02 | 2017-04-05 | 北京奇虎科技有限公司 | 应用程序进程孵化控制方法及装置 |
CN104376256A (zh) * | 2014-12-02 | 2015-02-25 | 北京奇虎科技有限公司 | 应用程序进程孵化控制方法及装置 |
CN104484223B (zh) * | 2014-12-16 | 2018-02-16 | 北京奇虎科技有限公司 | 一种安卓系统应用关闭方法和装置 |
CN104484223A (zh) * | 2014-12-16 | 2015-04-01 | 北京奇虎科技有限公司 | 一种安卓系统应用关闭方法和装置 |
CN108073452B (zh) * | 2016-11-10 | 2022-01-28 | 阿里巴巴集团控股有限公司 | 一种动态语言的运行时环境处理方法、装置和设备 |
CN108073452A (zh) * | 2016-11-10 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种动态语言的运行时环境处理方法、装置和设备 |
CN107341407B (zh) * | 2017-07-26 | 2021-03-23 | 惠州Tcl移动通信有限公司 | 基于终端的多安卓系统实现方法、存储介质及终端 |
CN107341407A (zh) * | 2017-07-26 | 2017-11-10 | 惠州Tcl移动通信有限公司 | 基于终端的多安卓系统实现方法、存储介质及终端 |
CN107861827A (zh) * | 2017-10-31 | 2018-03-30 | 努比亚技术有限公司 | 卡屏检测方法、移动终端及计算机可读存储介质 |
CN107861827B (zh) * | 2017-10-31 | 2021-05-21 | 努比亚技术有限公司 | 卡屏检测方法、移动终端及计算机可读存储介质 |
WO2022042237A1 (zh) * | 2020-08-31 | 2022-03-03 | 华为技术有限公司 | 加速应用启动的方法、电子设备及计算机存储介质 |
CN114489842A (zh) * | 2022-01-17 | 2022-05-13 | 重庆长安汽车股份有限公司 | 一种基于Android平台加速应用启动方法 |
CN114090096A (zh) * | 2022-01-21 | 2022-02-25 | 成都云祺科技有限公司 | 一种网络虚拟文件系统实现方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103514007B (zh) | 2017-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514007A (zh) | 一种基于Android系统的移动终端的热启动的方法 | |
US8543164B2 (en) | Sleep method, wake method and mobile terminal device | |
CN107636612B (zh) | 应用迁移装置、方法与存储介质 | |
US9384101B2 (en) | Web application architecture | |
US20120102305A1 (en) | Methods and apparatus for building system images and split booting | |
EP1866750B1 (en) | Methods and apparatus for providing on-demand assistance for a wireless device | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
CN103106092A (zh) | 终端设备中系统软件升级方法和装置 | |
CN104468226A (zh) | 基于Nginx的配置方法及装置 | |
WO2012045238A1 (zh) | 一种移动设备上应用程序的启动方法及装置 | |
CN106547598A (zh) | 提升Android应用程序启动速度的方法 | |
CN104239131B (zh) | 一种关闭应用程序的方法及装置 | |
CN111984280B (zh) | 容器兼容、升级方法、装置、设备及存储介质 | |
CN104932976A (zh) | 一种自动化测试PCIEx16性能的实现方法 | |
CN108038010A (zh) | 安卓系统启动阶段广播发送方法、装置和终端 | |
WO2012155698A1 (zh) | 基于浏览器引擎的动态加载微件的方法及移动终端 | |
WO2022199335A1 (zh) | 服务器部件固件升级的控制方法、装置、设备及存储介质 | |
CN107231386B (zh) | 应用状态转换方法、装置及移动终端 | |
CN102346456A (zh) | 可编程智能终端装置及可编程智能终端运行方法 | |
CN112650541A (zh) | 一种应用程序启动加速方法、系统、设备及存储介质 | |
CN112579369B (zh) | 多线程刷机系统、方法、装置、设备和存储介质 | |
CN107453959B (zh) | 一种网卡的管理方法及其装置 | |
CN102339222A (zh) | 在oms手机上启动应用程序的方法 | |
CN202083931U (zh) | 一种可编程智能终端装置 | |
CN104636160A (zh) | 一种应用程序的启动方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170905 |
|
CF01 | Termination of patent right due to non-payment of annual fee |