CN103514007B - 一种基于Android系统的移动终端的热启动的方法 - Google Patents

一种基于Android系统的移动终端的热启动的方法 Download PDF

Info

Publication number
CN103514007B
CN103514007B CN201210317478.8A CN201210317478A CN103514007B CN 103514007 B CN103514007 B CN 103514007B CN 201210317478 A CN201210317478 A CN 201210317478A CN 103514007 B CN103514007 B CN 103514007B
Authority
CN
China
Prior art keywords
zygote
mobile terminal
android
thermal starting
socket
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.)
Expired - Fee Related
Application number
CN201210317478.8A
Other languages
English (en)
Other versions
CN103514007A (zh
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.)
TCL Corp
Original Assignee
TCL Corp
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 TCL Corp filed Critical TCL Corp
Priority to CN201210317478.8A priority Critical patent/CN103514007B/zh
Publication of CN103514007A publication Critical patent/CN103514007A/zh
Application granted granted Critical
Publication of CN103514007B publication Critical patent/CN103514007B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种基于Android系统的移动终端的热启动的方法,当所述移动终端接收用户的热启动指令后,终止Zygote及Zygote创建的所有子程序;然后,Zygote重新启动,Zygote重新创建系统服务进程和预先设定的Android服务程序,完成热启动。从而无需对移动终端断电便可实现重新启动,一方面减少了系统重启所花费的时间,另一方面加快了系统运行的速度(所有服务都被重启),提高了用户体验。

Description

一种基于Android系统的移动终端的热启动的方法
技术领域
本发明涉及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包括:ActivityManager(活动管理器,相当于android的一个客户端,用于调用ActivityManagerService的接口)和Windows Manager(窗口管理器)等,Activity Manager负责把Home(桌面程序,即主页)引导完毕。所述预先设定的Android服务程序应当为Android系统的核心程序,即用户开机时,默认启动的。
综上所述,本发明的基于Android系统的移动终端的热启动的方法,当所述移动终端接收用户的热启动指令后,终止Zygote及Zygote创建的所有子程序;然后,Zygote重新启动, Zygote重新创建系统服务进程和预先设定的Android服务程序,完成热启动。从而无需对移动终端断电便可实现重新启动,一方面减少了系统重启所花费的时间,另一方面加快了系统运行的速度(所有服务都被重启),提高了用户体验。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (5)

1.一种基于Android系统的移动终端的热启动的方法,其特征在于,所述方法包括以下步骤:
STA、移动终端接收用户的热启动指令,终止Zygote及Zygote创建的所有子程序;
STB、Zygote重新启动, Zygote重新创建系统服务进程和预先设定的Android服务程序,完成热启动;
所述步骤STA具体包括:
ST1、移动终端开机时启动一可执行文件CmdServer,运行Socket服务端,并监听重新启动的指令端口;
ST2、所述移动终端接收用户的热启动指令,找到Zygote的进程ID号,建立Socket客户端,通过Socket客户端将所述Zygote的进程ID号发送到重新启动的指令端口;
ST3、Socket服务端接收到来自重新启动的指令端口的Zygote的进程ID号,终止Zygote;
ST4、Zygote的父进程Init接收到Zygote的终止信息后,终止Zygote创建的所有子进程;
所述步骤ST3中Socket服务端终止Zygote具体采用以下步骤:
Socket服务端调用system()函数,执行命令“kill -9 Zygote的进程ID号”;
所述步骤ST4中还包括:
Init标记init.svc.zygote的值为restarting;
所述热启动直接为Android的启动,即内核空间进入用户空间后,第一个运行init程序,该程序启动android的native服务,包括Servicemanager和Zygote进程,Zygote利用Socket通讯,接收ActivityManagerService的请求,Fork出应用程序。
2.根据权利要求1所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述步骤ST1中的重新启动的指令端口为5200端口。
3.根据权利要求1所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述步骤STB具体包括:
Zygote的父进程Init 重新启动Zygote,进而启动Davik VM,Davik VM启动系统服务进程,接着启动Framework和预先设定的Android服务程序。
4.根据权利要求3所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述Framework包括:Activity Manager和Windows Manager,Activity Manager负责把Home引导完毕。
5.根据权利要求1所述的基于Android系统的移动终端的热启动的方法,其特征在于,所述移动终端为手机。
CN201210317478.8A 2012-08-31 2012-08-31 一种基于Android系统的移动终端的热启动的方法 Expired - Fee Related CN103514007B (zh)

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 CN103514007A (zh) 2014-01-15
CN103514007B true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376256B (zh) * 2014-12-02 2017-04-05 北京奇虎科技有限公司 应用程序进程孵化控制方法及装置
CN104484223B (zh) * 2014-12-16 2018-02-16 北京奇虎科技有限公司 一种安卓系统应用关闭方法和装置
CN108073452B (zh) * 2016-11-10 2022-01-28 阿里巴巴集团控股有限公司 一种动态语言的运行时环境处理方法、装置和设备
CN107341407B (zh) * 2017-07-26 2021-03-23 惠州Tcl移动通信有限公司 基于终端的多安卓系统实现方法、存储介质及终端
CN107861827B (zh) * 2017-10-31 2021-05-21 努比亚技术有限公司 卡屏检测方法、移动终端及计算机可读存储介质
CN114116040A (zh) * 2020-08-31 2022-03-01 华为技术有限公司 加速应用启动的方法、电子设备及计算机存储介质
CN114489842A (zh) * 2022-01-17 2022-05-13 重庆长安汽车股份有限公司 一种基于Android平台加速应用启动方法
CN114090096B (zh) * 2022-01-21 2022-04-15 成都云祺科技有限公司 一种网络虚拟文件系统实现方法、系统及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1217265C (zh) * 2002-08-19 2005-08-31 万达信息股份有限公司 一种进程自动恢复方法
US8495351B2 (en) * 2010-10-13 2013-07-23 International Business Machines Corporation Preparing and preserving a system configuration during a hot upgrade
CN102012832B (zh) * 2010-12-14 2013-06-19 Tcl集团股份有限公司 一种加速Android系统启动的方法及装置
CN102331947B (zh) * 2011-10-14 2013-12-11 中科创达软件股份有限公司 一种Android系统的重启方法

Also Published As

Publication number Publication date
CN103514007A (zh) 2014-01-15

Similar Documents

Publication Publication Date Title
CN103514007B (zh) 一种基于Android系统的移动终端的热启动的方法
CN106293880B (zh) 在Windows系统上运行Android应用程序的方法及装置
US8868899B2 (en) System and method for switching between environments in a multi-environment operating system
EP3893118A1 (en) Recovery from application anomaly
US9372711B2 (en) System and method for initiating a multi-environment operating system
US9348633B2 (en) Multi-environment operating system
US8452952B2 (en) Methods and apparatus for building system images and split booting
CN105607921B (zh) 一种基于Android系统的系统服务启动方法及系统
CN109308241B (zh) 监听应用程序启动流程方法、装置、终端设备和存储介质
WO2015100933A1 (zh) 一种实现多操作系统的数据处理方法及终端设备
CN110750284B (zh) 一种应用快速启动方法、终端及计算机可读存储介质
CN106547598A (zh) 提升Android应用程序启动速度的方法
WO2012094319A1 (en) Background synchronization within a multi-environment operating system
CN107831887B (zh) 一种应用启动方法及装置
CN109388473A (zh) 基于移动操作系统的Android兼容层实现方法和系统
CN112363632A (zh) 一种Linux平台下Android应用的输入方法和装置
US20230229462A1 (en) Terminal Device, Gesture Operation Method Thereof, and Medium
CN113641320A (zh) 一种Linux兼容Android的共享屏幕方法及装置
CN112579369B (zh) 多线程刷机系统、方法、装置、设备和存储介质
CN104731600A (zh) 一种将安卓系统服务插件化的实现方法
CN107453959B (zh) 一种网卡的管理方法及其装置
CN104424198A (zh) 一种页面显示速度的获取方法及装置
CN107783825A (zh) 移动终端多后台进程启动方法、装置及移动终端
CN107395888B (zh) 黑屏手势的处理方法、装置、存储介质及移动终端
WO2022171058A1 (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