Boot-up method, device and electronic equipment
Patent Information
- Application Number
- CN202210946751.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-08
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2042-08-08
AI Technical Summary
[0008]本公开实施例提供的开机方法、装置和电子设备,通过响应于检测到活动管理服务的系统准备完成,对用户空间进行解锁;之后,响应于检测到用户空间解锁完成,确定桌面启动器线程是否处于空闲状态;而后,若上述桌面启动器线程处于空闲状态,则停止播放开机动画;响应于检测到开机动画播放完成,发送开机广播。通过这种方式可以在AMS的系统准备完成时对用户空间进行解锁,相比于安卓操作系统原生的解锁及解密流程在完成开机后对用户空间进行解锁,本实施例的这种方式提前了开机广播发出的时间点,缩短了安装有安卓操作系统的电子设备的开机时间。
Smart Images

Figure CN115328558B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, specifically to power-on methods, apparatus, and electronic devices. Background Technology
[0002] With the development of IoT technology, users have increasingly higher requirements for electronic devices, including requirements for device boot time. Due to the use of the Android operating system for startup, there is an unlocking process in the system, and file encryption is provided before unlocking to prevent data theft after the electronic device is lost. The file system is encrypted before the terminal is unlocked, and the real desktop will not appear before unlocking. Summary of the Invention
[0003] This disclosure is provided to briefly introduce the concepts, which will be described in detail in the subsequent Detailed Description section. This disclosure is not intended to identify key or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0004] In a first aspect, embodiments of this disclosure provide a boot method applied to an electronic device with an Android operating system installed, comprising: unlocking the user space in response to detecting that the system preparation of the activity management service is complete; determining whether the desktop launcher thread is in an idle state in response to detecting that the user space is unlocked; stopping the playback of the boot animation if the desktop launcher thread is in an idle state; and sending a boot broadcast in response to detecting that the boot animation has finished playing.
[0005] Secondly, embodiments of this disclosure provide a boot device, disposed in an electronic device with an Android operating system installed, comprising: an unlocking unit, configured to unlock the user space in response to detecting that the system preparation of the activity management service is complete; a determining unit, configured to determine whether the desktop launcher thread is in an idle state in response to detecting that the user space is unlocked; a control unit, configured to stop playing the boot animation if the desktop launcher thread is in an idle state; and a first sending unit, configured to send a boot broadcast in response to detecting that the boot animation has finished playing.
[0006] Thirdly, embodiments of this disclosure provide an electronic device, including: one or more processors; and a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the power-on method as described in the first aspect.
[0007] Fourthly, embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon that, when executed by a processor, implements the steps of the power-on method as described in the first aspect.
[0008] The boot method, apparatus, and electronic device provided in this disclosure unlock the user space in response to the detection that the system preparation of the Activity Management Service (AMS) is complete. Then, in response to the detection that the user space unlocking is complete, it determines whether the desktop launcher thread is idle. If the desktop launcher thread is idle, the boot animation playback stops. Finally, in response to the detection that the boot animation playback is complete, a boot broadcast is sent. This method unlocks the user space when the AMS system preparation is complete. Compared to the native unlocking and decryption process of the Android operating system, which unlocks the user space after booting, this embodiment advances the timing of the boot broadcast, shortening the boot time of electronic devices running the Android operating system. Attached Figure Description
[0009] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0010] Figure 1 This is a flowchart of one embodiment of the power-on method according to the present disclosure;
[0011] Figure 2 This is a flowchart of yet another embodiment of the power-on method according to the present disclosure;
[0012] Figure 3 This is a flowchart of another embodiment of the power-on method according to the present disclosure;
[0013] Figure 4 This is a schematic diagram of the structure of one embodiment of the power-on device according to the present disclosure;
[0014] Figure 5 These are exemplary system architecture diagrams to which the various embodiments of this disclosure can be applied;
[0015] Figure 6 This is a schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present disclosure. Detailed Implementation
[0016] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0017] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0018] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0019] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0020] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0021] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0022] Please refer to Figure 1 The diagram illustrates a flow 100 of an embodiment of a power-on method according to the present disclosure. This power-on method is typically used in electronic devices running the Android operating system and includes the following steps:
[0023] Step 101: In response to the detection that the system preparation for the activity management service is complete, the user space is unlocked.
[0024] In this embodiment, the execution entity of the boot method can detect whether the system of the ActivityManager Service (AMS) is ready, that is, the execution entity can detect whether the SystemReady() method of AMS has been called. AMS is the most core service in the Android operating system, mainly responsible for the startup, switching, scheduling of the four major components in the system, as well as the management and scheduling of application processes.
[0025] If the system preparation of AMS is detected as complete, i.e., the SystemReady() method of AMS is called, the aforementioned execution entity can unlock the user space. The process of unlocking the user space can be achieved by navigating to the UserController class (a helper class of AMS). This unlocking process may include calling the following methods: `sendBootComleted`, `finishUserBoot`, `maybeUnlockUser`, `unlockUserCleared`, `finishUserUnlocking`, and `finishUserUnlocked`.
[0026] Step 102: In response to the detection that user space unlocking is complete, determine whether the desktop launcher thread is in an idle state.
[0027] In this embodiment, the aforementioned execution entity can detect whether the user space has been unlocked. Generally speaking, if the call to the "user unlocking completed (finishUserUnlocked)" method is detected, it indicates that the user space has been unlocked.
[0028] If user space unlocking is detected as complete, the aforementioned execution entity can determine whether the launcher thread is in an idle state. The launcher is the desktop launcher in the Android system; the Android system's desktop UI (User Interface) is collectively referred to as the Launcher. The launcher is one of the main program components in the Android system; without the Launcher, the Android desktop cannot be launched.
[0029] If a user powers on the aforementioned electronic device (e.g., presses the power button), the system process will start the critical services and then launch the Launcher. After launching, the Launcher will draw the first frame of the desktop. Once the first frame is complete, the Launcher's main thread will be idle. This main thread will then send an Activity component idle notification to AMS. If an idle notification is received, it can be determined that the desktop launcher thread is idle.
[0030] If it is determined that the desktop launcher thread is in an idle state, the aforementioned execution entity can proceed to step 103.
[0031] Step 103: If the desktop launcher thread is in an idle state, stop playing the boot animation.
[0032] In this embodiment, if it is determined in step 102 that the desktop launcher thread is idle, the aforementioned execution entity can stop playing the boot animation. When the user performs a boot operation on the aforementioned electronic device, the aforementioned execution entity starts playing the boot animation. If it is determined that the desktop launcher thread is idle, while playing the boot animation, it will notify WMS (WindowManagerService, UI Management Service) that the first frame of the desktop has been drawn and request that the boot animation be canceled. That is, it calls the WMS's first frame display enable (enableScreenAfterBoot) method and the first frame display (performEnableScreen) method. Since the first frame of the desktop is an activity, it needs to be managed by AMS. Afterwards, the AMS's boot animation complete (bootAnimationComplete) method can be called to cancel the boot animation. AMS will then stop displaying the boot animation so that the first frame of the Launcher can be displayed on the screen. Afterwards, the boot completion (finishBooting) method can be called to initialize more services.
[0033] WMS is an important system service used for window management. It is started by the system service, automatically restarts when an error occurs, and can only exit when the system is shut down.
[0034] Step 104: In response to the detection that the boot animation has finished playing, a boot broadcast is sent.
[0035] In this embodiment, the aforementioned execution entity can detect whether the boot animation has finished playing. Generally speaking, if the call to the bootAnimationComplete method of AMS is detected, it indicates that the boot animation has finished playing, and a boot broadcast can be sent to inform other processes in the electronic device that the boot process has been completed.
[0036] The method provided in the above embodiments of this disclosure unlocks the user space in response to the detection that the system preparation of the Activity Management Service (AMS) is complete; then, in response to the detection that the user space unlocking is complete, it determines whether the desktop launcher thread is in an idle state; then, if the desktop launcher thread is in an idle state, the boot animation playback is stopped; and in response to the detection that the boot animation playback is complete, a boot broadcast is sent. This method unlocks the user space when the AMS system preparation is complete. Compared to the native unlocking and decryption process of the Android operating system, which unlocks the user space after booting, this embodiment advances the unlocking process of the user space, thereby advancing the time point for sending the boot broadcast and shortening the boot time of electronic devices running the Android operating system.
[0037] Continue to refer to Figure 2 The diagram illustrates a flow 200 of yet another embodiment of the power-on method according to this disclosure. This power-on method is typically used in electronic devices running the Android operating system and includes the following steps:
[0038] Step 201: In response to the detection that the system preparation for the Activity Management Service is complete, the user space is unlocked.
[0039] In this embodiment, step 201 can be performed in a similar manner to step 101, and will not be described again here.
[0040] Step 202: In response to the detection that user space unlocking is complete, determine whether the electronic device is a television.
[0041] In this embodiment, the execution body of the boot method can detect whether the user space has been unlocked. Generally speaking, if the finishUserUnlocked method is called, it means that the user space has been unlocked.
[0042] If user space unlocking is detected as complete, the aforementioned execution entity can determine whether the electronic device is a television. Here, the aforementioned execution entity can obtain the device identifier of the electronic device, and can determine the type of the electronic device through the device identifier.
[0043] If it is determined that the aforementioned electronic device is a television, then the aforementioned executing entity can execute step 203.
[0044] Step 203: If the electronic device is a television, determine whether the desktop launcher thread is in an idle state.
[0045] In this embodiment, if it is determined in step 202 that the electronic device is a television, the execution entity can determine whether the desktop launcher thread is in an idle state. Launcher is the desktop launcher in the Android system; the Android system's desktop UI is collectively referred to as Launcher. Launcher is one of the main program components in the Android system; without Launcher, the Android desktop cannot be launched.
[0046] If a user powers on the aforementioned electronic device, the system process will start the critical services and then launch the Launcher. After launching, the Launcher will draw the first frame of the desktop. Once the first frame is complete, the Launcher's main thread will be idle. This main thread will then send an Activity component idle notification to AMS. If an idle notification is received, it can be determined that the desktop launcher thread is idle.
[0047] If it is determined that the desktop launcher thread is in an idle state, the above-mentioned execution entity can execute step 204.
[0048] Step 204: If the desktop launcher thread is idle, stop playing the boot animation.
[0049] In this embodiment, step 204 can be performed in a similar manner to step 103, and will not be described again here.
[0050] Step 205: In response to the detection that the boot animation has finished playing, a boot broadcast is sent.
[0051] In this embodiment, step 205 can be performed in a similar manner to step 104, and will not be described again here.
[0052] Step 206: If the electronic device is not a television, send a power-on broadcast.
[0053] In this embodiment, if it is determined in step 202 that the electronic device is not a television, for example, that the electronic device is a mobile phone, iPad, laptop, etc., then the execution entity can send a power-on broadcast.
[0054] Here, the native unlocking and decryption process of the Android operating system is usually as follows: If the launcher thread is detected to be idle, while playing the boot animation, it notifies WMS that the first frame of the desktop has been drawn and requests that the boot animation be canceled, i.e., calling the WMS's enableScreenAfterBoot and performEnableScreen methods; then, it calls the AMS's bootAnimationComplete method to cancel the boot animation; then, it calls the finishBooting method to initialize more services; then, it jumps to the UserController class to unlock the user space, which may include calling the following methods: sendBootCompleted, finishUserBoot, maybeUnlockUser, unlockUserCleared, finishUserUnlocking, and finishUserUnlocked; finally, it calls the finishUserUnlockedCompleted method to send the boot broadcast.
[0055] from Figure 2 It can be seen from this that, with Figure 1 Compared to the corresponding embodiments, the boot method in this embodiment, in its process 200, involves detecting that the user space unlocking is complete, determining whether the electronic device is a television, and if it is, further determining whether the desktop launcher thread is idle; if it is not a television, then sending a boot broadcast. Thus, the solution described in this embodiment determines whether the electronic device is a television. If it is not a television, it indicates that the electronic device is a mobile phone, iPad, computer, or other electronic device using the Android operating system. Since the native unlocking and decryption process of the Android operating system provides file encryption before unlocking the electronic device to prevent data theft after the loss of the mobile phone, iPad, computer, etc., the mobile phone, iPad, computer, etc., need to use the native unlocking and decryption process of the Android operating system for unlocking and decryption. In the native unlocking and decryption process, a boot broadcast is sent upon detecting that the user space unlocking is complete. This way, when it is determined that the electronic device is not a television, it is processed according to the native unlocking and decryption process of the Android operating system. When it is determined that the electronic device is a television, the user space unlocking process is advanced, thereby advancing the time point for sending the boot broadcast and shortening the boot time of a television with an Android operating system installed.
[0056] Further reference Figure 3The diagram illustrates flow 300 of another embodiment of the power-on method according to this disclosure. This power-on method is typically used in electronic devices running the Android operating system and includes the following steps:
[0057] Step 301: In response to the detection that the system preparation for the activity management service is complete, determine whether the electronic device is a television.
[0058] In this embodiment, the execution entity of the boot method can detect whether the system of the Activity Management Service is ready, that is, the execution entity can detect whether the SystemReady() method of AMS has been called. AMS is the core service of the Android operating system, mainly responsible for the startup, switching, scheduling of the four major components in the system, as well as the management and scheduling of application processes.
[0059] If the system preparation of AMS is detected as complete, i.e., the SystemReady() method of AMS is called, the aforementioned execution entity can determine whether the electronic device is a television. Here, the aforementioned execution entity can obtain the device identifier of the electronic device, and can determine the type of the electronic device through the device identifier.
[0060] If it is determined that the aforementioned electronic device is a television, then the aforementioned executing entity can execute step 302.
[0061] Step 302: If the electronic device is a television, then unlock the user space.
[0062] In this embodiment, if it is determined in step 301 that the electronic device is a television, the execution entity can unlock the user space. This can be achieved by navigating to the UserController class to unlock the user space. This unlocking process may include calling the following methods: `sendBootComleted`, `finishUserBoot`, `maybeUnlockUser`, `unlockUserCleared`, `finishUserUnlocking`, and `finishUserUnlocked`.
[0063] Step 303: In response to detecting that user space unlocking is complete, determine whether the desktop launcher thread is in an idle state.
[0064] Step 304: If the desktop launcher thread is in an idle state, stop playing the boot animation.
[0065] Step 305: In response to the detection that the boot animation has finished playing, a boot broadcast is sent.
[0066] In this embodiment, steps 303-305 can be performed in a similar manner to steps 102-104, and will not be described again here.
[0067] from Figure 3 It can be seen from this that, with Figure 1 Compared to the corresponding embodiments, the boot method in this embodiment, in its process 300, involves determining whether the electronic device is a television if user space unlocking is detected as complete, and then unlocking the user space if the electronic device is a television. Since televisions do not require unlocking or file system encryption, when the electronic device is a television, the user space unlocking process is advanced; that is, the user space is unlocked when the AMS system preparation is complete. Compared to the native unlocking and decryption process of the Android operating system, which unlocks the user space after booting, this advances the time of the boot broadcast, shortening the boot time of televisions running the Android operating system.
[0068] In some alternative implementations, the aforementioned execution entity can unlock the user space in the following way: During the unlocking process, when calling the `unlockUserCleared` method, the execution entity typically decrypts the file storage system. Here, the parameters of the file storage system can be pre-set as target parameters, which indicate that the file storage system is not encrypted. Since televisions do not require encryption of their file storage systems, when the electronic device is a television, leaving the file storage system unencrypted saves time during the unlocking process.
[0069] Further reference Figure 4 As an implementation of the methods shown in the above figures, this application provides an embodiment of a power-on device, which is similar to... Figure 1 Corresponding to the method embodiment shown, the device can be specifically installed in an electronic device running the Android operating system.
[0070] like Figure 4 As shown, the power-on device 400 of this embodiment includes: an unlocking unit 401, a determining unit 402, a control unit 403, and a first sending unit 404. The unlocking unit 401 is used to unlock the user space in response to detecting that the system preparation for the activity management service is complete; the determining unit 402 is used to determine whether the desktop launcher thread is in an idle state in response to detecting that the user space has been unlocked; the control unit 403 is used to stop playing the power-on animation if the desktop launcher thread is in an idle state; and the first sending unit 404 is used to send a power-on broadcast in response to detecting that the power-on animation has finished playing.
[0071] In this embodiment, the specific processing of the unlocking unit 401, determining unit 402, control unit 403, and first sending unit 404 of the power-on device 400 can be referred to Figure 1 The corresponding steps are 101, 102, 103 and 104 in the embodiment.
[0072] In some alternative implementations, the unlocking unit 401 may be further configured to unlock the user space in response to the detection that the system preparation for the activity management service is complete, in the following manner: the unlocking unit 401 may determine whether the electronic device is a television in response to the detection that the system preparation for the activity management service is complete; if the electronic device is a television, then the user space is unlocked.
[0073] In some alternative implementations, the unlocking unit 401 can be further used to unlock the user space in the following way: the unlocking unit 401 can decrypt the file storage system, wherein the parameters of the file storage system are preset as target parameters, and the target parameters indicate that the file storage system has not been encrypted.
[0074] In some alternative implementations, the determining unit 402 may be further configured to determine whether the desktop launcher thread is in an idle state in response to the detection that the user space unlocking is complete: in response to the detection that the user space unlocking is complete, determine whether the electronic device is a television; if the electronic device is a television, determine whether the desktop launcher thread is in an idle state.
[0075] In some alternative implementations, the power-on device 400 may include a second transmitting unit (not shown in the figure). The second transmitting unit may be used to transmit a power-on broadcast if the electronic device is not a television.
[0076] Figure 5 An exemplary system architecture 500 is shown, in which embodiments of the power-on methods disclosed herein can be applied.
[0077] like Figure 5 As shown, system architecture 500 may include terminal devices 5011, 5012, and 5013, network 502, and server 503. Network 502 is used as a medium to provide communication links between terminal devices 5011, 5012, and 5013 and server 503. Network 502 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.
[0078] Users can use terminal devices 5011, 5012, and 5013 to interact with server 503 via network 502 to send or receive messages, etc. For example, terminal devices 5011, 5012, and 5013 can obtain services (e.g., TV program information) from server 503. Various communication client applications, such as video applications, game applications, and instant messaging software, can be installed on terminal devices 5011, 5012, and 5013.
[0079] Terminal devices 5011, 5012, and 5013 unlock the user space upon detecting that the system preparation for the activity management service is complete. Then, upon detecting that the user space has been unlocked, they determine whether the desktop launcher thread is in an idle state. If the desktop launcher thread is in an idle state, they stop playing the boot animation. Finally, upon detecting that the boot animation has finished playing, they send a boot broadcast.
[0080] Terminal devices 5011, 5012, and 5013 can be either hardware or software. When terminal devices 5011, 5012, and 5013 are hardware, they can be various electronic devices with displays and supporting information interaction, including but not limited to televisions, smartphones, tablets, and laptops. When terminal devices 5011, 5012, and 5013 are software, they can be installed in the aforementioned electronic devices. They can be implemented as multiple software programs or software modules (e.g., multiple software programs or software modules used to provide distributed services) or as a single software program or software module. No specific limitations are imposed here.
[0081] Server 503 can be a server that provides various services. For example, it can be a backend server that provides TV program information to terminal devices 5011, 5012, and 5013.
[0082] It should be noted that server 503 can be either hardware or software. When server 503 is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When server 503 is software, it can be implemented as multiple software programs or software modules (e.g., used to provide distributed services), or as a single software program or software module. No specific limitations are made here.
[0083] It should also be noted that the power-on method provided in this embodiment is usually executed by terminal devices 5011, 5012, and 5013, and the power-on device is usually located in terminal devices 5011, 5012, and 5013.
[0084] It should also be noted that if the terminal devices 5011, 5012, and 5013 locally store television program information, then the above system architecture 500 may not include the network 502 and the server 503.
[0085] It should be understood that Figure 5 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.
[0086] The following is for reference. Figure 6 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 5 The diagram below shows the structure of a terminal device. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 6 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0087] like Figure 6 As shown, the electronic device may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. The RAM 603 also stores various programs and data required for the operation of the electronic device 600. The processing unit 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0088] Typically, the following devices can be connected to I / O interface 605: input devices 606 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 607 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 608 including, for example, magnetic tapes, hard disks, etc.; and communication devices 609. Communication device 609 allows electronic devices to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 6 Electronic devices with various devices are shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have alternatively.
[0089] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 609, or installed from a storage device 608, or installed from a ROM 602. When the computer program is executed by the processing device 601, it performs the functions defined in the methods of embodiments of this disclosure.
[0090] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0091] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0092] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0093] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: unlock the user space in response to detecting that the system preparation of the activity management service is complete; determine whether the desktop launcher thread is idle in response to detecting that the user space has been unlocked; stop playing the boot animation if the desktop launcher thread is idle; and send a boot broadcast in response to detecting that the boot animation has finished playing.
[0094] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0095] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0096] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The names of the units are not necessarily limiting in certain circumstances; for example, the first sending unit can also be described as "a unit that sends a power-on broadcast in response to detecting that the power-on animation has finished playing."
[0097] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0098] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0099] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0100] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0101] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A power-on method, applied to an electronic device with an Android operating system installed, characterized in that, include: In response to the detection that the system is ready for the activity management service, the user space is unlocked; In response to the detection that user space unlocking is complete, determine whether the desktop launcher thread is in an idle state after drawing the first frame during the boot process; If the desktop launcher thread is idle after drawing the first frame during the boot process, then the boot animation will stop playing. In response to the detection that the boot animation has finished playing, a boot broadcast is sent.
2. The method according to claim 1, characterized in that, The process of unlocking the user space in response to the detection that the system is ready for the activity management service includes: In response to the detection that the system preparation for the activity management service is complete, it is determined whether the electronic device is a television; If the electronic device is a television, then the user space is unlocked.
3. The method according to claim 2, characterized in that, The unlocking of the user space includes: The file storage system is decrypted, wherein the parameters of the file storage system are preset as target parameters, and the target parameters indicate that the file storage system has not been encrypted.
4. The method according to claim 1, characterized in that, The response to detecting that user space unlocking is complete, determining whether the desktop launcher thread is in an idle state after drawing the first frame during the boot process, includes: In response to the detection that user space unlocking is complete, determine whether the electronic device is a television; If the electronic device is a television, determine whether the desktop launcher thread is in an idle state after drawing the first frame during the boot process.
5. The method according to claim 4, characterized in that, After determining whether the electronic device is a television, the method includes: If the electronic device is not a television, a power-on broadcast is sent.
6. A power-on device, disposed in an electronic device running an Android operating system, characterized in that, include: The unlocking unit is used to unlock the user space in response to the detection that the system preparation for the activity management service is complete; The determination unit is used to determine, in response to the detection that user space unlocking is complete, whether the desktop launcher thread is in an idle state after drawing the first frame during the boot process; The control unit is configured to stop playing the boot animation if the desktop launcher thread is idle after drawing the first frame during the boot process. The first sending unit is used to send a power-on broadcast in response to the detection that the power-on animation has finished playing.
7. The apparatus according to claim 6, characterized in that, The unlocking unit is further configured to unlock the user space in response to the detection that the system preparation for the activity management service is complete, in the following manner: In response to the detection that the system preparation for the activity management service is complete, it is determined whether the electronic device is a television; If the electronic device is a television, then the user space is unlocked.
8. The apparatus according to claim 7, characterized in that, The unlocking unit is further used to unlock the user space in the following manner: The file storage system is decrypted, wherein the parameters of the file storage system are preset as target parameters, and the target parameters indicate that the file storage system has not been encrypted.
9. The apparatus according to claim 6, characterized in that, The determining unit is further configured to determine, in response to the detection that user space unlocking is complete, whether the desktop launcher thread is in an idle state after drawing the first frame during the boot process: In response to the detection that user space unlocking is complete, determine whether the electronic device is a television; If the electronic device is a television, determine whether the desktop launcher thread is in an idle state after drawing the first frame during the boot process.
10. The apparatus according to claim 9, characterized in that, The device includes: The second transmitting unit is used to transmit a power-on broadcast if the electronic device is not a television.
11. An electronic device, characterized in that, include: One or more processors; Storage device, on which one or more programs are stored, When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-5.
12. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-5.
Citation Information
Patent Citations
Method and system for starting terminal and terminal
CN107220055A
Android system startup optimization method, intelligent terminal and computer readable medium
CN114047961A