CN116996496A - 一种上网系统、方法及可穿戴设备 - Google Patents

一种上网系统、方法及可穿戴设备 Download PDF

Info

Publication number
CN116996496A
CN116996496A CN202310857264.8A CN202310857264A CN116996496A CN 116996496 A CN116996496 A CN 116996496A CN 202310857264 A CN202310857264 A CN 202310857264A CN 116996496 A CN116996496 A CN 116996496A
Authority
CN
China
Prior art keywords
application
wearable device
thread
asynchronous
asynchronous thread
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
CN202310857264.8A
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310857264.8A priority Critical patent/CN116996496A/zh
Publication of CN116996496A publication Critical patent/CN116996496A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供了一种上网系统、方法及可穿戴设备。可穿戴设备显示第一应用的第一用户界面,并接收并响应用户针对第一用户界面的第一用户操作,确定出处于空闲状态的第一异步线程,并通过第一异步线程将第一网络请求参数发送至服务器,第一网络请求参数用于服务器获取到第一网络资源。可穿戴设备通过第一应用的主线程执行第一任务事项。可穿戴设备通过第一异步线程接收服务器发送的第一网络资源。可穿戴设备通过第一异步线程将第一网络资源发送至第一应用,并通过第一应用基于第一网络资源执行第二任务事项。实现了在可穿戴设备100上的第一应用在访问网络时,可以释放主线程,提升应用主线程的执行效率。

Description

一种上网系统、方法及可穿戴设备
技术领域
本申请涉及可穿戴设备技术领域,尤其涉及一种上网系统、方法及可穿戴设备。
背景技术
随着终端设备的发展,可穿戴设备体积小,方便携带,越来越多的用户选择使用可穿戴设备。可穿戴设备上可以安装有多个应用。用户可以通过可穿戴设备上安装的应用体验不同的功能,例如听歌、发送消息、打电话等。但是,可穿戴设备上都是通过应用的主线程执行各个任务的,例如UI绘制、访问网络等。不同应用的主线程不同。目前可穿戴设备上应用内的主线程为单任务处理机制。若应用内的主线程访问网络,主线程会被挂起无法执行其他的任务事项,这会导致主线程的执行效率大大降低。如何提高主线程的执行效率,有待进一步研究。
发明内容
本申请提供了一种上网系统、方法及可穿戴设备,在可穿戴设备上的第一应用在访问网络时,可以释放主线程,提升应用主线程的执行效率。
第一方面,本申请提供了一种上网系统,系统包括可穿戴设备和服务器,其中,可穿戴设备,用于显示第一应用的第一用户界面;可穿戴设备,还用于:接收用户针对第一用户界面的第一用户操作,第一用户操作用于从服务器中获取第一网络资源;响应于第一用户操作,确定出处于空闲状态的第一异步线程,并通过第一异步线程将第一网络请求参数发送至服务器;通过第一应用的主线程执行第一任务事项;服务器,用于基于第一网络请求参数获取到第一网络资源;服务器,还用于将第一网络资源发送至第一异步线程;可穿戴设备,还用于通过第一异步线程将第一网络资源发送至第一应用,并通过第一应用基于第一网络资源执行第二任务事项。
示例性的,第一任务事项可以是UI绘制等任务事项。
通过该方法,在可穿戴设备上的第一应用在访问网络时,可以释放主线程,应有主线程可以执行其他任务事项,不用等待第一应用在接收到第一网络资源后才可执行其他任务事项,提升应用主线程的执行效率。
结合第一方面,在一种可能的实现方式中,可穿戴设备,用于显示第二应用的第二用户界面;可穿戴设备,还用于:接收用户针对第二用户界面的第二用户操作,第二用户操作用于从服务器中获取第二网络资源;响应于第二用户操作,确定出处于空闲状态的第二异步线程,并通过第二异步线程将第二网络请求参数发送至服务器;通过第二应用的主线程执行第三任务事项;服务器,用于基于第二网络请求参数获取到第二网络资源;服务器,还用于将第二网络资源发送至第二异步线程;可穿戴设备,还用于通过第二异步线程将第二网络资源发送至第二应用,并通过第二应用基于第二网络资源执行第四任务事项。
这样,可穿戴设备可以提供多个异步线程,可以解决多应用网络并发的问题。同时释放多个应用的主线程,以提升多个应用的主线程的执行效率。
结合第一方面,在一种可能的实现方式中,第一网络请求参数包括以下一项或多项:第一应用的应用标识、第一网络资源的信息、服务器的地址。
结合第一方面,在一种可能的实现方式中,可穿戴设备,还用于:将第一异步线程的状态由空闲状态修改为繁忙状态,处于繁忙状态的第一异步线程无法被其他应用调用。
这样,在可穿戴设备将第一异步线程分配给第一应用之后,需要将第一异步线程的状态修改为繁忙状态,使得第一异步线程仅限于第一应用使用。
结合第一方面,在一种可能的实现方式中,可穿戴设备,还用于将第一异步线程的状态由繁忙状态修改为空闲状态,处于空闲状态的第一异步线程能被其他应用调用。
这样,在第一应用获取到第一网络资源后,可穿戴设备可以将第一异步线程的状态由繁忙状态修改为空闲状态,使得第一异步线程能够被其他应用再次使用。
结合第一方面,在一种可能的实现方式中,可穿戴设备,还用于在第一时长内未接收到第三网络请求参数的情况下,将第一异步线程的状态由繁忙状态修改为空闲状态,处于空闲状态的第一异步线程能被其他应用调用。
这样,在第一应用获取到第一网络资源后,可穿戴设备可以等待一段时间,在第一时长内均没有接收到第一应用的网络请求时,再将第一异步线程的状态由繁忙状态修改为空闲状态,处于空闲状态的第一异步线程能被其他应用调用。避免短时间内重复为第一应用分配异步线程的情况发生。
结合第一方面,在一种可能的实现方式中,可穿戴设备,具体用于:在确定出第一应用没有调用异步线程的情况下,确定出处于空闲状态的第一异步线程。
这样,在确定可穿戴设备没有为第一应用分配异步线程时,可穿戴设备再为第一应用分配处于空闲状态的第一异步线程。
结合第一方面,在一种可能的实现方式中,可穿戴设备,还用于:在确定出第一应用调用有第一异步线程的情况下,通过第一异步线程将第一网络请求参数发送至服务器。
这样,在可穿戴设备为第一应用分配异步线程时,可以在确定出已经为第一应用分配异步线程的情况下,不再重复为第一应用分配异步线程,避免重复为第一应用分配异步线程,导致第一应用占用过多的异步线程的情况发生。
结合第一方面,在一种可能的实现方式中,可穿戴设备,还用于:在确定出第一应用调用有第三异步线程且处于空闲状态的异步线程的数量大于预设数量的情况下,确定出处于空闲状态的第一异步线程。
这样,这样,在可穿戴设备已经为第一应用分配异步线程后,在确定出处于空闲状态的异步线程的数量大于预设数量的情况下,可穿戴设备可以再为第一应用分配另一个异步线程,这样,第一应用无需等待第一应用的其他网络请求执行完毕后在执行完全的网络请求,提高了第一应用的上网速度。
结合第一方面,在一种可能的实现方式中,系统还包括电子设备,电子设备和可穿戴设备建立有通信连接;可穿戴设备,具体用于通过第一异步线程将第一网络请求参数通过通信连接发送至电子设备;电子设备,用于将第一网络请求参数发送至服务器;服务器,具体用于将第一网络资源发送至电子设备;电子设备,还用于将第一网络资源通过通信连接发送至可穿戴设备。
示例性的,该通信连接可以是蓝牙连接等。
这样,在可穿戴设备连接有电子设备的情况下,可穿戴设备可以通过连接的电子设备进行上网。
在其他实施例中,在可穿戴设备有数据网络或者连接有Wi-Fi网路的情况下,可穿戴设备可以通过数据网络或者连接有Wi-Fi网路将第一网络请求参数发送至服务器,无需借助其他设备上网。
第二方面,本申请提供了一种上网方法,方法包括:可穿戴设备显示第一应用的第一用户界面;可穿戴设备接收用户针对第一用户界面的第一用户操作,第一用户操作用于从服务器中获取第一网络资源;响应于第一用户操作,可穿戴设备确定出处于空闲状态的第一异步线程,并通过第一异步线程将第一网络请求参数发送至服务器,第一网络请求参数用于服务器获取到第一网络资源;可穿戴设备通过第一应用的主线程执行第一任务事项;可穿戴设备通过第一异步线程接收服务器发送的第一网络资源;可穿戴设备通过第一异步线程将第一网络资源发送至第一应用,并通过第一应用基于第一网络资源执行第二任务事项。
结合第二方面,在一种可能的实现方式中,方法还包括:可穿戴设备显示第二应用的第二用户界面;可穿戴设备接收用户针对第二用户界面的第二用户操作,第二用户操作用于从服务器中获取第二网络资源;响应于第二用户操作,可穿戴设备确定出处于空闲状态的第二异步线程,并通过第二异步线程将第二网络请求参数发送至服务器,第二网络请求参数用于服务器获取到第二网络资源;可穿戴设备通过第二应用的主线程执行第三任务事项;可穿戴设备通过第二异步线程接收服务器发送的第二网络资源;可穿戴设备通过第二异步线程将第二网络资源发送至第二应用,并通过第二应用基于第二网络资源执行第四任务事项。
结合第二方面,在一种可能的实现方式中,第一网络请求参数包括以下一项或多项:第一应用的应用标识、第一网络资源的信息、服务器的地址。
结合第二方面,在一种可能的实现方式中,在可穿戴设备确定出处于空闲状态的第一异步线程之后,方法还包括:可穿戴设备将第一异步线程的状态由空闲状态修改为繁忙状态,处于繁忙状态的第一异步线程无法被其他应用调用。
结合第二方面,在一种可能的实现方式中,在可穿戴设备通过第一异步线程接收服务器发送的第一网络资源之后,方法还包括:可穿戴设备将第一异步线程的状态由繁忙状态修改为空闲状态,处于空闲状态的第一异步线程能被其他应用调用。
结合第二方面,在一种可能的实现方式中,在可穿戴设备通过第一异步线程接收服务器发送的第一网络资源之后,方法还包括:在第一时长内未接收到第三网络请求参数的情况下,可穿戴设备将第一异步线程的状态由繁忙状态修改为空闲状态,处于空闲状态的第一异步线程能被其他应用调用。
结合第二方面,在一种可能的实现方式中,可穿戴设备确定出处于空闲状态的第一异步线程,具体包括:在确定出第一应用没有调用异步线程的情况下,可穿戴设备确定出处于空闲状态的第一异步线程。
结合第二方面,在一种可能的实现方式中,方法还包括:在确定出第一应用调用有第一异步线程的情况下,通过第一异步线程将第一网络请求参数发送至服务器。
结合第二方面,在一种可能的实现方式中,方法还包括:在确定出第一应用调用有第三异步线程且处于空闲状态的异步线程的数量大于预设数量的情况下,可穿戴设备确定出处于空闲状态的第一异步线程。
结合第二方面,在一种可能的实现方式中,可穿戴设备通过第一异步线程将第一网络请求参数发送至服务器,具体包括:可穿戴设备通过电子设备基于第一异步线程将第一网络请求参数发送至服务器,其中,可穿戴设备和电子设备之间建立有通信连接;可穿戴设备通过电子设备基于第一异步线程接收服务器发送的第一网络资源,具体包括:可穿戴设备通过电子设备接收服务器发送的第一网络资源。
第三方面,本申请提供了一种可穿戴设备,包括:一个或多个处理器和一个或多个存储器;其中,该一个或多个存储器与该一个或多个处理器耦合,该一个或多个存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,当该一个或多个处理器执行该计算机指令时,使得可穿戴设备执行上述第一方面中任一项可能的实现方式中的方法。
第四方面,本申请提供了一种芯片系统,芯片系统应用于可穿戴设备,该芯片系统包括处理电路和接口电路,该接口电路用于接收指令并传输至处理电路,处理电路用于运行指令以执行上述第一方面以及第一方面中任一项可能的实现方式中的方法。
第五方面,本申请提供了一种计算机可读存储介质,包括指令,其特征在于,当该指令在可穿戴设备上运行时,使得可穿戴设备执行上述第一方面以及第一方面中任一项可能的实现方式中的方法。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面以及第一方面中任一项可能的实现方式中的方法。
第二方面及第六方面的有益效果,可以参考第一方面及第一方面中任一项可能的实现方式中的有益效果,在此不再赘述。
附图说明
图1示出了本申请实施例中提供的一种可穿戴设备100的结构示意图;
图2示出了本申请实施例中提供的一种电子设备300的结构示意图;
图3A-图3B示出了可穿戴设备100上网的示意图;
图4示出了一种可穿戴设备100上第一应用上网的示意图;
图5示出了另一种可穿戴设备100上第一应用上网的示意图;
图6示出了一种可穿戴设备100创建异步线程池的方法示意图;
图7示出了一种可穿戴设备100为第一应用的主线程分配第一异步线程的方法示意图;
图8示出了一种第一应用通过第一异步线程获取第一网络资源的方法示意图;
图9示出了另一种第一应用通过第一异步线程获取第一网络资源的方法示意图;
图10为本申请提供的一种调度线程释放第一异步线程的方法示意图;
图11为本申请提供的一种上网方法的流程示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面介绍本申请实施例中提供的一种电子设备的硬件结构。
图1示出了本申请实施例中提供的一种可穿戴设备100的结构示意图。
应该理解的是,图1所示可穿戴设备100仅是一个范例,并且可穿戴设备100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
可穿戴设备100可以是指智能手环、智能手表等等可穿戴设备。本申请实施例对该可穿戴设备100的具体类型不作限制。本申请以可穿戴设备100为智能手环为例进行说明。
可穿戴设备100可以包括处理器101、存储器102、传感器103、显示屏104、马达105、无线通信模块106等。其中:
处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器101中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器101中的存储器为高速缓冲存储器。该存储器可以保存处理器101刚用过或循环使用的指令或数据。如果处理器101需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器101的等待时间,因而提高了系统的效率。
在本申请实施例中,处理器101可用于根据PPG信号确定用户出现血糖异常的次数,和/或,血糖风险等等。其中,该血糖异常的次数可以包括:高血糖次数,和/或,低血糖次数。血糖风险可用于指示用户出现高血糖,和/或,低血糖的频率。具体关于根据PPG信号确定血糖异常次数,和/或,血糖风险的描述可以参见后续内容,这里先不展开。
存储器102可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以由处理器101直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器101直接进行读写。
传感器103可包括:陀螺仪传感器1031、加速度传感器1032、皮电传感器1033、触摸传感器1034、骨传导传感器1035、光电传感器1036等等多个传感器。其中:
陀螺仪传感器1031可用于确定可穿戴设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器1031确定可穿戴设备100围绕三个轴(即,x,y和z轴)的角速度。
加速度传感器1032检测可穿戴设备100在各个方向上(一般为三轴)加速度的大小。当可穿戴设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
皮电传感器1033可用于测量用户的皮肤电数据,该数据用于反映用户的压力、情绪的变化。
触摸传感器1034,也称“触控器件”。触摸传感器1034可以设置于显示屏104,由触摸传感器1034与显示屏104组成触摸屏,也称“触控屏”。触摸传感器1034用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏104提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器1034也可以设置于可穿戴设备100的表面,与显示屏104所处的位置不同。
在本申请实施例中,可穿戴设备100可以通过触摸传感器1034检测到用户作用于显示屏104上的触摸操作。
骨传导传感器1035可以获取振动信号。在一些实施例中,骨传导传感器1035可以获取人体声部振动骨块的振动信号。骨传导传感器1035也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器1035也可以设置于耳机中,结合成骨传导耳机。应用处理器可以基于所述骨传导传感器1035获取的血压跳动信号解析心率信息,实现心率检测功能。
光电传感器1036用于监测心血管生命体征。光电传感器1036由至少一对发光二极管和光电探测器组成,其中,发光二极管作为光源照射皮肤,光电探测器检测光线在穿透过程中为血液和组织吸收后,剩余的透射或反射光,并将其转换成为电信号,获得PPG信号。由于透射光或反射光的强度随动脉脉动而变化,PPG信号也跟随动脉脉动,即用户的心跳有节奏的波动,可以通过该PPG信号计算用户的心率、血氧饱和度和血压等等参数。
可以理解的是,传感器103可以包含更多或更少的传感器,本申请实施例对此不作限制。
显示屏104可用于显示图像、视频等等。
马达105可以产生振动提示。马达105可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。
无线通信模块106可以提供应用在可穿戴设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块106可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块106经由天线接收电磁波,将电磁波信号解调以及滤波处理,将处理后的信号发送到处理器101。无线通信模块106还可以从处理器101接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
在一些实施例中,可穿戴设备100的天线和无线通信模块106耦合,使得可穿戴设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multipleaccess,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(longterm evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigationsatellite system,GLONASS),北斗卫星导航系统(beidou navigation satellitesystem,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
在一些实施例中,可穿戴设备100还可以包括SIM卡接口,SIM卡接口用于连接SIM卡。SIM卡可以通过插入SIM卡接口,或从SIM卡接口拔出,实现和可穿戴设备100的接触和分离。可穿戴设备100可以通过安装的SIM卡上网。
在一些实施例中,可穿戴设备100还可以包括eSIM卡,可穿戴设备100可以通过安装的eSIM卡上网。
可以理解的是,本申请实施例示意的结构并不构成对可穿戴设备100的具体限定。在本申请另一些实施例中,可穿戴设备100可以包括比图示更多或更少的部件,或者,组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。
图2示出了本申请实施例中提供的一种电子设备300的结构示意图。
本申请实施例中,电子设备300的设备类型可以是手机、平板电脑、手持计算机、桌面型计算机、膝上型计算机、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、蜂窝电话、个人数字助理(personal digital assistant,PDA),以及智能大屏、智能音箱等智能家居设备,智能手环、智能手表、智能眼镜等可穿戴设备,增强现实(augmented reality,AR)、虚拟现实(virtual reality,VR)、混合现实(mixed reality,MR)等扩展现实(extended reality,XR)设备,车载设备或智慧城市设备,等等中的任一种。本申请实施例以电子设备300为手机为例进行说明。
应该理解的是,图2所示电子设备300仅是一个范例,并且电子设备300可以具有比图2中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备300可以包括:处理器110,外部存储器接口120,内部存储器121,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括陀螺仪传感器180B,加速度传感器180E,以及触摸传感器180K等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备300的具体限定。在本申请另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备300的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
电子设备300的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备300上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备300上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备300的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备300可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备300通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。显示屏面板还可以采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等制造。在一些实施例中,电子设备300可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备300可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备300可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备300在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备300可以支持一种或多种视频编解码器。这样,电子设备300可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备300的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备300的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备300可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备300可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备300接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备300可以设置至少一个麦克风170C。在另一些实施例中,电子设备300可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备300还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
陀螺仪传感器180B可以用于确定电子设备300的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备300围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备300抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备300的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
加速度传感器180E可检测电子设备300在各个方向上(一般为三轴)加速度的大小。当电子设备300静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备300的表面,与显示屏194所处的位置不同。
按键190包括电源键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备300可以接收按键输入,产生与电子设备300的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备300的接触和分离。
上网场景
图3A-图3B示出了可穿戴设备100上网的示意图。
图3A中的(a)至图3A中的(e)示例性示出了播放音乐应用中的音乐的UI图。
如图3A中的(a)所示,可穿戴设备100可以接收用户针对显示屏的滑动操作(例如向左滑动操作)显示的其他应用的图标。示例性的,图3A中的(a)示例性示出了部分应用的图标,例如时钟应用的图标、设置应用的图标、电话应用的图标、运动健康应用的图标、浏览器应用的图标、日历应用的图标、睡眠应用的图标、导航应用的图标、信息应用的图标。用户想要查找日程应用的图标,图3A中的(a)没有显示音乐应用的图标,可穿戴设备100可以接收用户针对显示屏的向右滑动操作,响应于用户的滑动操作,可穿戴设备100可以显示图3A中的(b)所示的用户界面。
图3A中的(b)所示的用户界面中,显示了不同于图3A中的(a)所示的应用的图标,例如天气应用的图标、指南针应用的图标、语音助手应用的图标、备忘录应用的图标、联系人应用的图标、音乐应用的图标。
可选的,不仅限于用户向左滑动一次找到日程应用的图标,在其他实施例中,用户可能需要向左滑动多次才可以找到音乐应用的图标。
如图3A中的(c)所示,可穿戴设备100接收用户针对音乐应用的图标的输入操作,响应于用户的输出操作,可穿戴设备100可以显示如图3A中的(d)所示音乐应用的用户界面。
图3A中的(d)所示的用户界面中,显示了多个歌曲选项,例如歌曲“AAA”选项、歌曲“BBB”选项和歌曲“CCC”选项。
如图3A中的(d)所示,可穿戴设备100接收用户针对歌曲“CCC”选项的输入操作,例如单击,响应于用户的输入操作,可穿戴设备100可以显示图3A中的(e)所示的音乐播放界面。
具体的,响应于用户的输入操作,可穿戴设备100可以将歌曲“CCC”的标识发送至服务器,服务器可以基于歌曲“CCC”的标识获取到歌曲“CCC”的音频文件,服务器再将歌曲“CCC”的音频文件发送至可穿戴设备100,可穿戴设备100可以基于歌曲“CCC”的音频文件播放歌曲“CCC”。
图3B中的(a)至图3B中的(c)示例性示出了通过语音助手识别音频的UI图。
如图3B中的(a)所示,可穿戴设备100接收用户针对语音助手应用的图标的输入操作,响应于用户的输出操作,可穿戴设备100可以显示如图3B中的(b)所示的提示栏,该提示栏用于提示用于输出音频。
如图3B中的(c)所示,在用户输出音频后,语音助手可以将获取的音频信息发送至服务器,由服务器识别出音频内容,例如音频内容可以是“打电话给爸爸”。服务器再将音频内容“打电话给爸爸”发送至可穿戴设备100,可穿戴设备100可以显示图3B中的(c)所示的提示信息“打电话给爸爸”,该提示栏用于提示用于语音助手识别到的音频。
之后,可穿戴设备可以通过电话应用找到联系人“爸爸”,并给联系人“爸爸”拨打电话。
图4示出了一种可穿戴设备100上第一应用上网的示意图。
S401、第一应用接收第一用户操作,第一用户操作用于下载第一网络资源。
示例性的,第一应用可以是音乐应用,第一用户操作可以用于从服务器200中下载第一音乐的资源包。
在下载得到第一音乐的资源包之后,第一应用可以基于第一音乐的资源包播放第一音乐。
例如,第一应用可以是图3A中的(b)所示的音乐应用,第一音乐可以是图3A中的(d)所示的歌曲“CCC”,第一用户操作可以是图3A中的(d)所示的用户针对歌曲“CCC”选项的输入操作。
示例性的,第一应用可以是语音助手应用,第一用户操作可以通过语音控制可穿戴设备100。
再例如,第一应用可以是图3B中的(a)所示的音乐应用,第一用户操作可以是图3B中的(a)所示的用户针对语音助手应用的图标的输入操作。第一网络资源可以是服务器发送的音频内容。
S402、响应于第一用户操作,第一应用通过第一应用的主线程向服务器200发送第一请求。
在一些实施例中,在可穿戴设备100安装有SIM卡或者eSIM卡的情况下,可穿戴设备100可以通过安装的SIM卡或者eSIM卡上网。
在一些实施例中,在可穿戴设备100连接有Wi-Fi网络的情况下,可穿戴设备100可以通过Wi-Fi网络上网。
在可穿戴设备100未安装有SIM卡或者eSIM卡的情况下,可穿戴设备100无法通过安装的SIM卡或者eSIM卡上网,在可穿戴设备100也未连接有Wi-Fi网络的情况下,可穿戴设备100无法通过Wi-Fi网络上网。若可穿戴设备100连接有其他的电子设备,例如可穿戴设备100通过蓝牙连接有电子设备300,那么可穿戴设备100可以通过电子设备300进行上网。具体的,可以参考图5实施例中的描述。
在其他实施例中,在可穿戴设备100安装有SIM卡或者eSIM卡,可穿戴设备100同时连接有其他的电子设备的情况下,在一种可能的实现方式中,可穿戴设备100的SIM卡或者eSIM卡功能会关闭,可穿戴设备100可以通过连接的电子设备进行上网。在其他可能的实现方式中,可穿戴设备100的SIM卡或者eSIM卡功能不会关闭,可穿戴设备100可以通过SIM卡或者eSIM卡上网,可穿戴设备100也可以通过其他的电子设备上网,本申请对此不做限定。
响应于第一用户操作,在可穿戴设备100可以通过安装的SIM卡或者eSIM卡上网,或者可穿戴设备100连接有Wi-Fi网络的情况下,第一应用可以通过第一应用的主线程基于可穿戴设备100提供的数据网络或者可穿戴设备100连接的Wi-Fi网络向服务器200发送第一请求。
可选的,可穿戴设备100上的应用是通过应用内的主线程进行上网的,在应用开启后,应用的主线程也创建且运行起来了。在应用关闭后,应用的主线程也随之消失了。
S403、第一应用的主线程被挂起,第一应用的主线程停止执行其他任务事项。
在第一应用程获取到第一网络资源之前,第一应用的主线程会被挂起,并停止执行其他任务事项。
之后在第一应用在获取到第一网络资源之后,第一应用的主线程才会被唤醒,之后,第一应用的主线程才会执行其他的任务事项,例如UI绘制等任务事项。
需要说明的是,S403可以和S402同时执行,S403也可以在S402之前执行,本申请对此不做限定。
S404、响应于第一请求,服务器200获取第一网络资源。
S405、服务器200将第一网络资源发送至可穿戴设备100。
响应于第一请求,服务器200可以获取到第一网络资源,并将第一网络资源发送至可穿戴设备100。
可穿戴设备100可以获取到第一网络资源。
S406、第一应用释放第一应用的主线程,第一应用的主线程开始执行其他任务事项。
可穿戴设备100在获取到第一网络资源后,第一应用可以获取到第一网络资源。第一应用在获取到第一网络资源之后,第一应用可以释放第一应用的主线程,使得释放后的第一应用的主线程可以开始执行其他任务事项。
示例性的,第一网络资源可以是第一音乐的资源包,第一应用在获取到第一音乐的资源包后,第一应用可以基于第一音乐的资源包开始播放第一音乐。
示例性的,第一应用在获取到第一网络资源之后,第一应用的主线程也可以开始之前被暂停执行的UI绘制等任务事项。
但是如图4分析可知,第一应用在获取到第一网络资源之前,若还有其他的任务事项需要执行,例如UI绘制等任务事项,其他任务事项需要等待一应用在获取到第一网络资源之后,才能被执行,这将会导致其他任务事项无法及时执行,第一应用的主线程被挂起也无法执行其他任务事项,导致第一应用的主线程的执行效率也较低。
图5示出了另一种可穿戴设备100上第一应用上网的示意图。
S501、可穿戴设备100和电子设备300之间建立有蓝牙连接。
可选的,不仅限于蓝牙连接,可穿戴设备100和电子设备300之间还可以是其他通信连接,本申请对此不做限定。
S502、第一应用接收第一用户操作,第一用户操作用于下载第一网络资源。
示例性的,第一应用可以是音乐应用,第一用户操作可以用于从服务器200中下载第一音乐的资源包。
在下载得到第一音乐的资源包之后,第一应用可以基于第一音乐的资源包播放第一音乐。
例如,第一应用可以是图3A中的(b)所示的音乐应用,第一音乐可以是图3A中的(d)所示的歌曲“CCC”,第一用户操作可以是图3A中的(d)所示的用户针对歌曲“CCC”选项的输入操作。
示例性的,第一应用可以是语音助手应用,第一用户操作可以通过语音控制可穿戴设备100。
再例如,第一应用可以是图3B中的(a)所示的音乐应用,第一用户操作可以是图3B中的(a)所示的用户针对语音助手应用的图标的输入操作。第一网络资源可以是服务器发送的音频内容。
S503、响应于第一用户操作,第一应用通过第一应用的主线程基于蓝牙连接向电子设备300发送第一请求。
在可穿戴设备100未安装有SIM卡或者eSIM卡的情况下,可穿戴设备100无法通过安装的SIM卡或者eSIM卡上网。在可穿戴设备100也未连接有Wi-Fi网络的情况下,可穿戴设备100无法通过Wi-Fi网络上网。若可穿戴设备100连接有其他的电子设备,例如可穿戴设备100通过蓝牙连接有电子设备300,那么可穿戴设备100可以通过电子设备300进行上网。
在其他实施例中,在可穿戴设备100安装有SIM卡或者eSIM卡,可穿戴设备100同时连接有其他的电子设备的情况下,在一种可能的实现方式中,可穿戴设备100的SIM卡或者eSIM卡功能会关闭,可穿戴设备100可以通过连接的电子设备进行上网。在其他可能的实现方式中,可穿戴设备100的SIM卡或者eSIM卡功能不会关闭,可穿戴设备100可以通过SIM卡或者eSIM卡上网,可穿戴设备100也可以通过其他的电子设备上网,本申请对此不做限定。
本申请实施例以可穿戴设备100通过其他的电子设备上网为例进行说明。
响应于第一用户操作,在可穿戴设备100和电子设备300建立有蓝牙连接的情况下,可穿戴设备100可以通过和电子设备300之间的蓝牙连接上网,第一应用可以通过第一应用的主线程基于可穿戴设备100和电子设备300之间的蓝牙连接向电子设备300发送第一请求。
可选的,可穿戴设备100上的应用是通过应用内的主线程进行上网的,在应用开启后,应用的主线程也创建且运行起来了。在应用关闭后,应用的主线程也随之消失了。
S504、第一应用的主线程被挂起,第一应用的主线程停止执行其他任务事项。
在第一应用程获取到第一网络资源之前,第一应用的主线程会被挂起,并停止执行其他任务事项。
之后在第一应用在获取到第一网络资源之后,第一应用的主线程才会被唤醒,之后,第一应用的主线程才会执行其他的任务事项,例如UI绘制等任务事项。
需要说明的是,S503可以和S502同时执行,S503也可以在S502之前执行,本申请对此不做限定。
S505、电子设备300向服务器200发送第一请求。
S506、响应于第一请求,服务器200获取第一网络资源。
S507、服务器200将第一网络资源发送至电子设备300。
S508、电子设备300将第一网络资源发送至可穿戴设备100。
电子设备300在接收到可穿戴设备100发送的第一请求后,电子设备300可以将第一请求发送至服务器200。
服务器200在接收到电子设备300发送的第一请求后,响应于第一请求,服务器200可以获取到第一网络资源,并将第一网络资源发送至电子设备300。
电子设备300在接收到服务器200发送的第一网络资源后,电子设备300再将第一网络资源发送至可穿戴设备100。
可穿戴设备100可以获取到第一网络资源。
S509、第一应用释放第一应用的主线程,第一应用的主线程开始执行其他任务事项。
可穿戴设备100在获取到第一网络资源后,第一应用可以获取到第一网络资源。第一应用在获取到第一网络资源之后,第一应用可以释放第一应用的主线程,使得释放后的第一应用的主线程可以开始执行其他任务事项。
示例性的,第一网络资源可以是第一音乐的资源包,第一应用在获取到第一音乐的资源包后,第一应用可以基于第一音乐的资源包开始播放第一音乐。
示例性的,第一应用在获取到第一网络资源之后,第一应用的主线程也可以开始之前被暂停执行的UI绘制等任务事项。
但是如图5分析可知,第一应用在获取到第一网络资源之前,若还有其他的任务事项需要执行,例如UI绘制等任务事项,其他任务事项需要等待第一应用在获取到第一网络资源之后,才能被执行,这将会导致其他任务事项无法及时执行,第一应用的主线程被挂起也无法执行其他任务事项,导致第一应用的主线程的执行效率也较低。
综合上述分析,本申请提供了一种上网方法,在可穿戴设备100上的第一应用在访问网络时,可以释放主线程,提升应用主线程的执行效率。
在一些实施例中,可穿戴设备100可以是嵌入式操作系统。可穿戴设备100还可以是其他操作系统,例如安卓、鸿蒙、ISO操作系统等,本申请对此不做限定。
该方法包括以下阶段:创建线程池、第一应用调用线程池中的第一异步线程、第一应用通过第一异步线程上网、第一应用释放第一异步线程。
创建线程池
可穿戴设备100可以创建线程池,线程池内可以包括一个或多个异步线程,在一个或者异步线程没被调用的情况下,该一个或多个异步线程的状态为空闲状态。在线程池内中一个或者异步线程被可穿戴设备100上应用的主线程调用的情况下,被调用异步线程的状态为繁忙状态,未被可穿戴设备100上应用的主线程调用的异步线程的状态还是空闲状态。
可选的,可穿戴设备100可以在开机后创建线程池,并将线程中的异步线程的状态重置为空闲状态。这样,在应用的主线程需要调用异步线程时,可穿戴设备100可以快速为应用的主线程分配异步线程,提高应用的上网速度。
可选的,可穿戴设备100也可以在应用的主线需要调用异步线程时,可穿戴设备100再实时创建线程池。
可穿戴设备100也可以在其他时机创建线程池,本申请对此不做限定。
在一些实施例中,可穿戴设备100可以创建预设数量的异步线程,例如可穿戴设备100可以创建3个异步线程。一方面,可穿戴设备100内的多个应用可以同时调用线程池中的异步线程,以释放多个应用的主线程,同时提高不用应用的主线程的执行效率。另一方面,避免一次性创建太多数量的异步线程,导致大量空闲状态的异步线程未被占用,造成可穿戴设备100的资源浪费是情况发生。
本申请以下实施例以线程池中包括3个异步线程为例进行说明。不仅限于3个异步线程,可穿戴设备100还可以创建更多或者更少的异步线程,本申请对此不做限定。
表1
异步线程 异步线程的标识 异步线程的状态
第一异步线程 第一标识 空闲
第二异步线程 第二标识 空闲
第三异步线程 第三标识 空闲
表1示出了线程池中的三个异步线程,不同异步线程的标识不同。
例如第一异步线程的标识为第一标识。在第一异步线程没有被应用的主线程调用的情况下,第一异步线程的状态为空闲状态。
第二异步线程的标识为第二标识。在第二异步线程没有被应用的主线程调用的情况下,第二异步线程的状态为空闲状态。
第三异步线程的标识为第三标识。在第三异步线程没有被应用的主线程调用的情况下,第三异步线程的状态为空闲状态。
其中,第一标识、第二标识和第三标识不同。
图6示出了一种可穿戴设备100创建异步线程池的方法示意图。
S601、可穿戴设备100创建线程池,线程池中包括一个或多个异步线程。
可选的,可穿戴设备100可以在可穿戴设备100开机后创建线程池,线程池中包括一个或多个异步线程。这样,在应用的主线程需要调用异步线程时,可穿戴设备100可以快速为应用的主线程分配异步线程,提高应用的上网速度。
可选的,可穿戴设备100也可以在应用的主线需要调用异步线程时,可穿戴设备100再实时创建线程池。
可穿戴设备100也可以在其他时机创建线程池,本申请对此不做限定。
S602、可穿戴设备100将线程池中的一个或多个异步线程的状态置为空闲状态。
在可穿戴设备100创建线程池之后,可穿戴设备100可以将线程池中的一个或多个异步线程的状态置为空闲状态。这样,只有处于空闲状态的异步线程才能被应用的主线程调用。
示例性的,可穿戴设备100创建的线程池中的一个或多个异步线程可以是表1所示的多个异步线程。
S603、可穿戴设备100创建调度线程。
可选的,可穿戴设备100还需创建调度线程,该调度线程用于遍历线程中的异步线程,并找到处于空闲状态的异步线程,并未应用的主线程分配处于空闲状态的异步线程。
需要说明的是,S603可以在S602之前执行,S603也可以和S602同时执行,本申请对此不做限定。
可选的,可穿戴设备100也可以不执行S603,本申请对此不做限定。
通过异步线程池机制中的异步线程进行网络访问,可以管理所有来自上层应用的网络访问,不管是从维护角度还是后期扩展角度来看都是十分便捷,尤其是对可穿戴设备100的芯片资源比较匮乏的系统采用异步线程可以节省资源合理分配。
第一应用调用线程池中的第一异步线程
可穿戴设备100上的应用需要访问网络时,是通过应用的主线程访问网络的。那么在应用的主线程访问网络的过程中,应用的主线程无法执行其他的任务事项,导致应用的主线程的执行效率低。
为了提高应用的主线程的执行效率,当可穿戴设备100上的第一应用的主线程需要上网时,可穿戴设备100可以为第一应用的主线程分配第一异步线程,使得第一应用可以通过第一异步线程进行上网,从而释放第一应用的主线程,使得第一应用的主线程可以执行其他的任务事项,例如执行UI绘制等任务事项,这样,可以提高第一应用的主线程的执行效率。
图7示出了一种可穿戴设备100为第一应用的主线程分配第一异步线程的方法示意图。
S701、第一应用接收第一用户操作,第一用户操作用于通过第一应用的主线程下载第一网络资源。
示例性的,第一应用可以是音乐应用,第一用户操作可以用于从服务器200中下载第一音乐的资源包。
在下载得到第一音乐的资源包之后,第一应用可以基于第一音乐的资源包播放第一音乐。
例如,第一应用可以是图3A中的(b)所示的音乐应用,第一音乐可以是图3A中的(d)所示的歌曲“CCC”,第一用户操作可以是图3A中的(d)所示的用户针对歌曲“CCC”选项的输入操作。
示例性的,第一应用可以是语音助手应用,第一用户操作可以通过语音控制可穿戴设备100。
再例如,第一应用可以是图3B中的(a)所示的音乐应用,第一用户操作可以是图3B中的(a)所示的用户针对语音助手应用的图标的输入操作。第一网络资源可以是服务器发送的音频内容。
S702、第一应用通过异步任务执行接口确定是否有第一应用的其他网络请求被执行。
第一应用可以将网络请求发送至异步任务执行接口,以使得异步任务执行接口确定是否有第一应用的其他网络请求被执行。
在一些实施例中,网络请求中可以携带有网络请求参数。在其他实施例中,网络请求参数也可以独立于网络请求,本申请对此不做限定。
其中,网络请求参数可以包括:下载第一网络资源的服务器地址(例如服务器200的地址)、第一网络资源的信息、第一应用的应用标识。
其中,下载第一网络资源的服务器地址用于异步线程找到服务器200,第一网络资源的信息用于异步线程从服务器200中下载得到第一网络资源。
可选的,网络请求参数也可以不包括第一应用的应用标识,网络请求参数中还可以包括其他更多的信息,本申请对此不做限定。
在一些实施例中,异步任务执行接口在获取到网络请求之后,异步任务执行接口可以将第一应用的应用标识发送至调度线程,以使得调度线程确定出是否有为第一应用分配异步线程。
在确定出有为第一应用分配异步线程的情况下,调度线程可以向异步任务执行接口发送消息,以使得异步任务执行接口可以基于该消息确定出有异步线程代替第一应用的主线程下载第一网络资源。
在确定出没有为第一应用分配异步线程的情况下,调度线程也可以向异步任务执行接口发送消息,以使得异步任务执行接口可以确定出没有异步线程代替第一应用的主线程下载第一网络资源,那么异步任务执行接口可以向调度线程发送请求,以使得调度线程为第一应用分配异步线程。
在一些实施例中,在异步任务执行接口接收到第一应用发送的网络请求后,异步任务执行接口可以判断是否有第一应用的其他网络请求被执行。
若存在的话,异步任务执行接口可以等待第一应用的其他网络请求在执行完毕后,再将当前接收到的第一应用发送的网络请求发送至调度模块。
可选的,在确定出有第一应用的其他网络请求被执行的情况下,异步任务执行接口可以通知第一应用当前有第一应用的其他网络请求被执行,等待其他网络请求执行完毕后再向调度线程发送网络请求。
若不存在的话,异步任务执行接口可以直接将当前接收到的第一应用发送的网络请求发送至调度模块。执行S703。
可选的,无论当前是否有第一应用的其他网络请求在执行,异步任务执行接口也可以直接将当前接收到的第一应用发送的网络请求发送至调度模块,直接执行S703。
S703、第一应用通过异步任务执行接口向调度线程发起网络请求。
第一应用可以通过异步任务执行接口向调度线程发起网络请求,以释放第一应用的主线程,以使得可以通过异步线程代替第一应用的主线程获取到第一网络资源,以释放第一应用的主线程。
S704、调度线程确定是否有网络请求。
调度线程可以周期性/实时性地判断是否有接收到可穿戴设备上应用发送的网络请求。若有接收到网络请求,则执行S705。若没有收到网络请求,则周期性/实时性地执行S704。
需要说明的是,S704可以在S701-S705之间的任意一个步骤之前或者之后或者同时执行,本申请对此不做限定。
S705、调度线程确定是否已为第一应用分配异步线程。
若调度线程通过异步任务执行接口接收到第一应用发送的网络请求,调度线程需确定是否已为第一应用分配异步线程。
在确定出已经为第一应用分配异步线程的情况下,调度线程不必再为第一应用分配异步线程,避免第一应用占用过多的异步线程,导致其他应用的主线程无法得到即时释放,执行S709。
可选的,在一些实施例中,在确定出已经为第一应用分配异步线程的情况下,调度线程可以判断当前处于空闲状态的异步线程的数量。若处于空闲状态的异步线程的数量大于预设数量,则可以为第一应用再另外分配一个异步线程,已加快第一应用的网络请求的执行速度。若处于空闲状态的异步线程的数量小于预设数量,那么可以不再为第一应用另外分配一个异步线程,使得第一应用的其他网络请求执行完毕后在通过同一个异步线程执行当前的网络请求,避免第一应用占用过多的异步线程,导致其他应用的主线程无法得到即时释放。
在确定出还未为第一应用分配异步线程的情况下,调度线程可以为第一应用分配异步线程,使得第一应用可以释放第一应用的主线程,以提高第一应用的主线程的执行效率,执行S706。
S706、调度线程获取到线程池中处于空闲状态的异步线程数量。
需要说明的是,S706也可以是不定时地/周期性实行的。
S707、调度线程确定处于空闲状态的异步线程数量是否大于等于1。
在获取到第一应用发送的网络请求知乎,调度线程可以获取到线程池中处于空闲状态的异步线程数量。并判断处于空闲状态的异步线程数量。
在处于空闲状态的异步线程数量是否大于等于1的情况下,调度线程可以为第一应用分配一个处于空闲状态的异步线程,例如可以为第一应用分配第一异步线程,执行S708。
在处于空闲状态的异步线程数量等于0的情况下,调度线程可以重复执行S706-S707。直至获取到一个处于空闲状态的异步线程,并分配至第一应用。
S708、调度线程从线程池中为第一应用的主线程分配第一异步线程,将第一异步线程的状态修改为繁忙状态。
调度线程在确定处于空闲状态的异步线程数量大于等于1后,则线程池中至少有一个异步线程处于空闲状态,调度线程可以从至少一个处于空闲状态的异步线程中选择一个异步线程,并分配给第一应用,例如调度线程可以将处于空闲状态的第一异步线程分配给第一应用。调度模块可以记录下第一异步线程与第一应用的对应关系,以便后续可以继续通过第一异步线程代替第一应用的主线程获取到网络资源。
调度线程还需将第一异步线程的状态由空闲状态修改为繁忙状态,避免调度线程再将第一异步线程分配给其他应用使用,避免重复分配导致分配失败的情况发生。
表2
异步线程 异步线程的标识 异步线程的状态
第一异步线程 第一标识 繁忙
第二异步线程 第二标识 空闲
第三异步线程 第三标识 空闲
表2示出了调度线程在将第一异步线程分配给第一应用之后,线程池中各个异步线程的状态情况。
如表2所示,调度线程在将第一异步线程分配给第一应用之后,第一异步线程的状态被更改为繁忙状态。第二异步线程和第三异步线程还未分配给其他应用使用,第二异步线程和第三异步线程的状态还是空闲状态。这样,处于繁忙状态的第一异步线程无法再分配给其他应用使用,处于空闲状态的第二异步线程和第三异步线程还可以被分配至其他应用使用。
可选的,在调度线程为第一应用分配第一异步线程后,调度线程需要将处于空闲状态的异步线程数量减1。
可选的,在调度线程为第一应用分配第一异步线程后,调度线程可以将第一异步线程的标识(例如第一标识)发送至第一应用,以告知第一应用已成功分配异步线程。之后,第一应用可以释放第一应用的主线程,使得在第一应用通过第一异步线程获取第一网络资源的过程中,第一应用的主线程可以执行其他的任务事项,例如执行UI绘制等任务事项,以提高第一应用的主线程的执行效率。
S709、第一异步线程获取第一网络资源。
调度模块在为第一应用分配第一网络资源之后,调度模块可以把网络请求参数发送至第一异步线程。
网络请求参数可以包括:下载第一网络资源的服务器地址(例如服务器200的地址)、第一网络资源的信息、第一应用的应用标识等。
第一异步线程可以基于下载第一网络资源的服务器地址访问服务器200的地址,进而再基于第一网络资源的信息从服务器200中下载第一网络资源。
在一些实施例中,下载第一网络资源的服务器地址和第一网络资源的信息也可以被统称为第一网络资源的下载地址。
第一异步线程在获取到第一网络资源之后,第一异步线程可以将第一网络资源发送至第一应用,实现了第一应用通过第一异步线程从服务器200中获取到第一网络资源。
示例性的,第一网络资源可以是第一音乐的资源包,第一应用在获取到第一音乐的资源包后,第一应用可以基于第一音乐的资源包开始播放第一音乐。
第一应用通过第一异步线程上网
图8示出了一种第一应用通过第一异步线程获取第一网络资源的方法示意图。
在图8实施例中,可穿戴设备100可以通过可穿戴设备100上安装的有SIM卡或者eSIM卡上网,或者通过可穿戴设备100连接的Wi-Fi网络上网。
S801、第一异步线程向服务器200发送第一请求。
可选的,在调度线程为第一应用分配第一异步线程之后,调度模块可以把网络请求参数发送至第一异步线程。
网络请求参数可以包括:下载第一网络资源的服务器地址(例如服务器200的地址)、第一网络资源的信息、第一应用的应用标识等。
第一异步线程可以向服务器200发送第一请求,第一请求用于从服务器200中获取第一网络资源。
可选的,第一异步线程可以基于下载第一网络资源的服务器地址向服务器200发送第一请求。
在一些实施例中,第一请求中可以携带有第一网络资源的信息。在其他实施例中,第一网络资源的信息也可以独立于第一请求发送至服务器200,本申请对此也不做限定。第一网络资源的信息用于服务器200获取到第一网络资源。
S802、第一应用的主线程执行其他任务事项。
在调度线程为第一应用分配第一异步线程之后,第一应用的主线程可以不用等待第一应用获取到第一网络资源,可以开始执行其他任务事项,例如UI绘制等任务事项。
示例性的,S802中第一应用的主线程执行的其他任务事项可以被称为第一任务事项。
S803、响应于第一请求,服务器200获取第一网络资源。
服务器200在接收到第一请求后,服务器200可以获取到第一网络资源的信息,并基于第一网络资源的信息获取到第一网络资源。
S804、服务器200将第一网络资源发送至第一异步线程。
S805、第一异步线程将第一网络资源发送至第一应用。
服务器200在获取到第一网络资源之后,服务器200可以将第一网络资源发送至第一异步线程。第一异步线程再将第一网络资源发送至第一应用,使得第一应用可以获取到第一网络资源。
示例性的,S805中,第一应用在接收到第一异步线程发送的第一网络资源后,第一应用可以基于第一网络资源执行第二任务事项。
图9示出了另一种第一应用通过第一异步线程获取第一网络资源的方法示意图。
在图9实施例中,可穿戴设备100可以通过连接的电子设备300上网。
S901、第一异步线程基于蓝牙连接将第一请求发送至电子设备300。
需要说明的是,可以和电子设备300建立通信连接,该通信连接可以是蓝牙连接,该通信连接还可以是其他通信连接,本申请那对此不做限定,本申请仅以蓝牙连接为例进行说明。
S902、电子设备300再将第一请求发送至服务器200。
可选的,在调度线程为第一应用分配第一异步线程之后,调度模块可以把网络请求参数发送至第一异步线程。
网络请求参数可以包括:下载第一网络资源的服务器地址(例如服务器200的地址)、第一网络资源的信息、第一应用的应用标识等。
第一异步线程可以向电子设备300发送第一请求,第一请求用于请求电子设备300从服务器200中获取第一网络资源。
可选的,第一异步线程可以通过蓝牙连接将第一请求发送至电子设备300。电子设备300再将第一请求发送至服务器200。
可选的,电子设备300可以基于下载第一网络资源的服务器地址向服务器200发送第一请求。
在一些实施例中,第一请求中可以携带有第一网络资源的信息。在其他实施例中,第一网络资源的信息也可以独立于第一请求发送至服务器200,本申请对此也不做限定。第一网络资源的信息用于服务器200获取到第一网络资源。
S903、第一应用的主线程执行其他任务事项。
在调度线程为第一应用分配第一异步线程之后,第一应用的主线程可以不用等待第一应用获取到第一网络资源,可以开始执行其他任务事项,例如UI绘制等任务事项。
S904、响应于第一请求,服务器200获取第一网络资源。
服务器200在接收到第一请求后,服务器200可以获取到第一网络资源的信息,并基于第一网络资源的信息获取到第一网络资源。
S905、服务器200将第一网络资源发送至电子设备300。
S906、电子设备300将第一网络资源发送至第一异步线程。
服务器200在获取到第一网络资源之后,服务器200可以将第一网络资源发送至电子设备300。电子设备300再通过蓝牙连接将第一网络资源发送至可穿戴设备100上的第一异步线程。
S907、第一异步线程将第一网络资源发送至第一应用。
第一异步线程在获取到电子设备300发送的第一网络资源之后,第一异步线程再将第一网络资源发送至第一应用,使得第一应用可以获取到第一网络资源。
第一应用释放第一异步线程
图10为本申请提供的一种调度线程释放第一异步线程的方法示意图。
S1001、调度线程释放第一异步线程。
可选的,第一异步线程在获取到第一网络资源并将第一网络资源发送至第一应用后,调度线程可以释放第一异步线程,即将第一应用和第一异步线程的对应关系解绑,使得第一异步线程可以被其他应用调用。
可选的,第一异步线程在获取到第一网络资源并将第一网络资源发送至第一应用后的第一时长内,调度线程没有接收到第一应用发送的网络请求,则可以判断当前第一应用没有上网需求了,调度线程再释放第一异步线程,一方面,调度线程可以等待一段时间再释放第一异步线程,避免在第一应用连续有网络请求的情况下重复为第一应用分配异步线程的情况发生。另一方面,在等待一段时间没有接收到第一应用发送的网络请求,调度线程释放第一异步线程,使得第一异步线程可以被其他应用调用。
S1002、调度线程将第一异步线程的状态从繁忙状态修改为空闲状态。
调度线程在释放第一异步线程,即解绑第一应用和第一异步线程的对应关系后,调度线程将第一异步线程的状态从繁忙状态修改为空闲状态,使得处于空闲状态的第一异步线程可以被其他应用调用。
S1003、调度线程将线程池中处于空闲状态的异步线程数量加1。
在调度线程将第一异步线程的状态从繁忙状态修改为空闲状态后,调度线程将线程池中处于空闲状态的异步线程数量加1,以指示当前可被其他应用调用的异步线程的数量。
图11为本申请提供的一种上网方法的流程示意图。
如图11所示,可穿戴设备100包括第一应用、异步任务执行接口、调度线程和线程池,线程池内可以包括一个或多个异步线程,例如线程池内可以包括第一异步线程和第二异步线程。
在一些实施例中,异步任务执行接口可以是第一应用内的一部分,也可以不属于第一应用,本申请对此也不做限定。
可穿戴设备100可以创建线程池。
可选的,可穿戴设备100可以在开机后创建线程池,并将线程中的异步线程的状态重置为空闲状态。这样,在应用的主线程需要调用异步线程时,可穿戴设备100可以快速为应用的主线程分配异步线程,提高应用的上网速度。
可选的,可穿戴设备100也可以在应用的主线需要调用异步线程时,可穿戴设备100再实时创建线程池。
可穿戴设备100也可以在其他时机创建线程池,本申请对此不做限定。
S1101、第一异步线程将第一异步线程的状态信息发送至调度线程。
S1102、第二异步线程将第二异步线程的状态信息发送至调度线程。
线程池内可以包括一个或多个异步线程,在一个或者异步线程没被调用的情况下,该一个或多个异步线程的状态为空闲状态。在线程池内中一个或者异步线程被可穿戴设备100上应用的主线程调用的情况下,被调用异步线程的状态为繁忙状态,未被可穿戴设备100上应用的主线程调用的异步线程的状态还是空闲状态。
第一异步线程和第二异步线程可以将各系的状态信息发送至调度线程,使得调度线程可以统计线程池中各个异步线程的状态,以便为应用的主线程分配异步线程。
S1103、第一应用接收第一用户操作,第一用户操作用于通过第一应用的主线程下载第一网络资源。
示例性的,第一应用可以是音乐应用,第一用户操作可以用于从服务器200中下载第一音乐的资源包。
在下载得到第一音乐的资源包之后,第一应用可以基于第一音乐的资源包播放第一音乐。
例如,第一应用可以是图3A中的(b)所示的音乐应用,第一音乐可以是图3A中的(d)所示的歌曲“CCC”,第一用户操作可以是图3A中的(d)所示的用户针对歌曲“CCC”选项的输入操作。
示例性的,第一应用可以是语音助手应用,第一用户操作可以通过语音控制可穿戴设备100。
再例如,第一应用可以是图3B中的(a)所示的音乐应用,第一用户操作可以是图3B中的(a)所示的用户针对语音助手应用的图标的输入操作。第一网络资源可以是服务器发送的音频内容。
S1104、第一应用向异步任务执行接口发送网络请求。
在调度线程为第一应用分配异步线程之前,第一应用的主线程还是处于挂起状态,取法执行其他任务事项。只有在调度线程成功为第一应用分配异步线程之后,第一应用的主线程才会别释放,使得第一应用的主线程可以开始执行其他任务事项。
响应于第一用户操作,第一应用可以向异步任务执行接口发送网络请求。
在一些实施例中,网络请求中可以携带有网络请求参数。在其他实施例中,网络请求参数也可以独立于网络请求,本申请对此不做限定。
其中,网络请求参数可以包括:下载第一网络资源的服务器地址(例如服务器200的地址)、第一网络资源的信息、第一应用的应用标识。
其中,下载第一网络资源的服务器地址用于异步线程找到服务器200,第一网络资源的信息用于异步线程从服务器200中下载得到第一网络资源。
可选的,网络请求参数也可以不包括第一应用的应用标识,网络请求参数中还可以包括其他更多的信息,本申请对此不做限定。
S1105、异步任务执行接口确定是否有第一应用的其他网络请求被执行。
在异步任务执行接口接收到第一应用发送的网络请求后,异步任务执行接口可以判断是否有第一应用的其他网络请求被执行。
若存在的话,异步任务执行接口可以等待第一应用的其他网络请求在执行完毕后,再将当前接收到的第一应用发送的网络请求发送至调度模块,执行S1107。
可选的,在确定出有第一应用的其他网络请求被执行的情况下,异步任务执行接口可以通知第一应用当前有第一应用的其他网络请求被执行,等待其他网络请求执行完毕后再向调度线程发送网络请求,执行S1106。
可选的,无论当前是否有第一应用的其他网络请求在执行,异步任务执行接口也可以直接将当前接收到的第一应用发送的网络请求发送至调度模块,直接执行S1107。
S1106、异步任务执行接口向第一应用发送等待执行消息。
S1107、异步任务执行接口向第一应用调度线程发送网络请求。
在确定出有第一应用的其他网络请求正在被执行时,异步任务执行接口可以向第一应用发送等待执行消息。
在确定出没有第一应用的其他网络请求被执行时,异步任务执行接口可以向第一应用调度线程发送网络请求,使得调度线程开始处理第一应用发送的网络请求。
可选的,也可以不执行S1106和S1107。
S1108、调度线程确定是否有网络请求。
调度线程可以周期性/实时性地判断是否有接收到可穿戴设备上应用发送的网络请求。若有接收到网络请求,则执行S1109。若没有收到网络请求,则周期性/实时性地执行S1108。
需要说明的是,S1108可以在S1101-S1109之间的任意一个步骤之前或者之后或者同时执行,本申请对此不做限定。
S1109、调度线程确定是否已为第一应用分配异步线程。
若调度线程接收到第一应用发送的网络请求,调度线程需确定是否已为第一应用分配异步线程。
在确定出已经为第一应用分配异步线程的情况下,调度线程不必再为第一应用分配异步线程,避免第一应用占用过多的异步线程,导致其他应用的主线程无法得到即时释放,执行S1113。
可选的,在一些实施例中,在确定出已经为第一应用分配异步线程的情况下,调度线程可以判断当前处于空闲状态的异步线程的数量。若处于空闲状态的异步线程的数量大于预设数量,则可以为第一应用再另外分配一个异步线程,已加快第一应用的网络请求的执行速度。若处于空闲状态的异步线程的数量小于预设数量,那么可以不再为第一应用另外分配一个异步线程,使得第一应用的其他网络请求执行完毕后在通过同一个异步线程执行当前的网络请求,避免第一应用占用过多的异步线程,导致其他应用的主线程无法得到即时释放。
在确定出还未为第一应用分配异步线程的情况下,调度线程可以为第一应用分配异步线程,使得第一应用可以释放第一应用的主线程,以提高第一应用的主线程的执行效率,执行S1110。
S1110、调度线程获取线程池中处于空闲状态的异步线程数量。
需要说明的是,S1110也可以是不定时地/周期性实行的。
S1110可以在S1101和S1102之后开始执行。
S1111、调度线程确定处于空闲状态的异步线程数量是否大于等于1。
在获取到第一应用发送的网络请求之后,调度线程可以获取到线程池中处于空闲状态的异步线程数量。并判断处于空闲状态的异步线程数量。
在处于空闲状态的异步线程数量是否大于等于1的情况下,调度线程可以为第一应用分配一个处于空闲状态的异步线程,例如可以为第一应用分配第一异步线程,执行S1112。
在处于空闲状态的异步线程数量等于0的情况下,调度线程可以重复执行S1110-S1111。直至获取到一个处于空闲状态的异步线程,并分配至第一应用。
可选的,在确定出空闲状态的异步线程数量等于0,且持续一段时间均没有处于空闲状态的异步线程的情况下,第一应用可以不再等待调度线程分配异步线程,第一应用可以直接通过第一应用的主线程上网并获取到第一网络资源,避免第一应用等待时间太长。
S1112、调度线程从线程池中为第一应用的主线程分配第一异步线程,将第一异步线程的状态修改为繁忙状态。
调度线程在确定处于空闲状态的异步线程数量大于等于1后,则线程池中至少有一个异步线程处于空闲状态,调度线程可以从至少一个处于空闲状态的异步线程中选择一个异步线程,并分配给第一应用,例如调度线程可以将处于空闲状态的第一异步线程分配给第一应用。调度模块可以记录下第一异步线程与第一应用的对应关系,以便后续可以继续通过第一异步线程代替第一应用的主线程获取到网络资源。
调度线程还需将第一异步线程的状态由空闲状态修改为繁忙状态,避免调度线程再将第一异步线程分配给其他应用使用,避免重复分配导致分配失败的情况发生。
可选的,在调度线程为第一应用分配第一异步线程后,调度线程需要将处于空闲状态的异步线程数量减1。
S1113、调度线程向异步任务执行接口发送释放主线程消息。
S1114、异步任务执行接口向第一应用发送释放主线程消息。
S1115、响应于释放主线程消息,第一应用释放第一应用的主线程,第一应用的主线程开始执行其他任务事项。
调度线程在为第一应用分配第一异步线程之后,调度线程可以向异步任务执行接口发送释放主线程消息,异步任务执行接口再将释放主线程消息发送至第一应用。这样,调度线程可以指示第一应用释放第一应用的主线程,第一应用的主线程开始执行其他任务事项。
可选的,释放主线程消息中可以携带有第一异步线程的标识。第一异步线程的标识也可以独立于释放主线程消息发送至异步任务执行接口和第一应用,本申请对此也不做限定。
这样,在调度线程为第一应用分配第一异步线程后,调度线程可以将第一异步线程的标识(例如第一标识)发送至第一应用,以告知第一应用已成功分配异步线程。之后,第一应用可以释放第一应用的主线程,使得在第一应用通过第一异步线程获取第一网络资源的过程中,第一应用的主线程可以执行其他的任务事项,例如执行UI绘制等任务事项,以提高第一应用的主线程的执行效率。
S1116、调度线程将网络请求参数发送至第一异步线程。
S1117、第一异步线程基于网络请求参数获取到第一网络资源。
S1118、第一异步线程将第一网络资源发送至异步任务执行接口。
S1119、异步任务执行接口将第一网络资源发送至第一应用。
其中,网络请求参数可以包括:下载第一网络资源的服务器地址(例如服务器200的地址)、第一网络资源的信息、第一应用的应用标识等。
在调度线程确定出已经为第一应用分配异步线程后,调度线程可以基于第一应用的标识确定出第一异步线程的标识。
第一异步线程的标识将网络请求参数发送至第一异步线程。第一异步线程可以基于网络请求参数获取到第一网络资源。具体的,第一异步线程可以基于下载第一网络资源的服务器地址访问服务器200的地址,进而再基于第一网络资源的信息从服务器200中下载第一网络资源。
在一些实施例中,下载第一网络资源的服务器地址和第一网络资源的信息也可以被统称为第一网络资源的下载地址。
第一异步线程在获取到第一网络资源之后,第一异步线程可以将第一网络资源发送至异步任务执行接口,异步任务执行接口再将第一网络资源发送至第一应用,实现了第一应用通过第一异步线程从服务器200中获取到第一网络资源。
示例性的,第一网络资源可以是第一音乐的资源包,第一应用在获取到第一音乐的资源包后,第一应用可以基于第一音乐的资源包开始播放第一音乐。
对于第一异步线程如何获取到第一网络资源的具体实现,可以参考图8、图9实施例中的描述,本申请在此不再赘述。
在第一应用无需上网时,调度线程如何释放第一异步线程的具体实现,可以参考图10实施例中的描述,本申请在此不再赘述。
在一些实施例中,若有多个应用需同时上网,线程调度模块可以同时为多个应用分配异步线程,多个应用可以同时基于各自分配的异步线程进行上网并获取到网络资源。这样,可以同时释放多个应用的主线程,可穿戴设备100可以同时释放多个应用的主线程,同时提高多个应用的主线程的执行效率。调度线程如何为其他应用分配异步线程的具体实现,可以参考图11实施例中的描述,本申请在此不做赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (23)

1.一种上网系统,其特征在于,所述系统包括可穿戴设备和服务器,其中,
所述可穿戴设备,用于显示第一应用的第一用户界面;
所述可穿戴设备,还用于:
接收用户针对所述第一用户界面的第一用户操作,所述第一用户操作用于从所述服务器中获取第一网络资源;
响应于所述第一用户操作,确定出处于空闲状态的第一异步线程,并通过所述第一异步线程将第一网络请求参数发送至所述服务器;
通过所述第一应用的主线程执行第一任务事项;
所述服务器,用于基于所述第一网络请求参数获取到所述第一网络资源;
所述服务器,还用于将所述第一网络资源发送至所述第一异步线程;
所述可穿戴设备,还用于通过所述第一异步线程将所述第一网络资源发送至所述第一应用,并通过所述第一应用基于所述第一网络资源执行第二任务事项。
2.根据权利要求1所述的系统,其特征在于,所述可穿戴设备,用于显示第二应用的第二用户界面;
所述可穿戴设备,还用于:
接收用户针对所述第二用户界面的第二用户操作,所述第二用户操作用于从所述服务器中获取第二网络资源;
响应于所述第二用户操作,确定出处于空闲状态的第二异步线程,并通过所述第二异步线程将第二网络请求参数发送至所述服务器;
通过所述第二应用的主线程执行第三任务事项;
所述服务器,用于基于所述第二网络请求参数获取到所述第二网络资源;
所述服务器,还用于将所述第二网络资源发送至所述第二异步线程;
所述可穿戴设备,还用于通过所述第二异步线程将所述第二网络资源发送至所述第二应用,并通过所述第二应用基于所述第二网络资源执行第四任务事项。
3.根据权利要求1或2所述的系统,其特征在于,所述第一网络请求参数包括以下一项或多项:所述第一应用的应用标识、所述第一网络资源的信息、所述服务器的地址。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述可穿戴设备,还用于:将所述第一异步线程的状态由空闲状态修改为繁忙状态,处于所述繁忙状态的所述第一异步线程无法被其他应用调用。
5.根据权利要求1-4任一项所述的系统,其特征在于,所述可穿戴设备,还用于将所述第一异步线程的状态由繁忙状态修改为空闲状态,处于所述空闲状态的所述第一异步线程能被其他应用调用。
6.根据权利要求1-5任一项所述的系统,其特征在于,所述可穿戴设备,还用于在第一时长内未接收到第三网络请求参数的情况下,将所述第一异步线程的状态由繁忙状态修改为空闲状态,处于所述空闲状态的所述第一异步线程能被其他应用调用。
7.根据权利要求1-6任一项所述的系统,其特征在于,所述可穿戴设备,具体用于:
在确定出所述第一应用没有调用异步线程的情况下,确定出处于空闲状态的所述第一异步线程。
8.根据权利要求7所述的系统,其特征在于,所述可穿戴设备,还用于:
在确定出所述第一应用调用有所述第一异步线程的情况下,通过所述第一异步线程将第一网络请求参数发送至所述服务器。
9.根据权利要求7所述的系统,其特征在于,所述可穿戴设备,还用于:在确定出所述第一应用调用有第三异步线程且处于空闲状态的异步线程的数量大于预设数量的情况下,确定出处于空闲状态的所述第一异步线程。
10.根据权利要求1-9任一项所述的系统,其特征在于,所述系统还包括电子设备,所述电子设备和所述可穿戴设备建立有通信连接;
所述可穿戴设备,具体用于通过所述第一异步线程将第一网络请求参数通过所述通信连接发送至所述电子设备;
所述电子设备,用于将所述第一网络请求参数发送至所述服务器;
所述服务器,具体用于将所述第一网络资源发送至所述电子设备;
所述电子设备,还用于将所述第一网络资源通过所述通信连接发送至所述可穿戴设备。
11.一种上网方法,其特征在于,所述方法包括:
可穿戴设备显示第一应用的第一用户界面;
所述可穿戴设备接收用户针对所述第一用户界面的第一用户操作,所述第一用户操作用于从所述服务器中获取第一网络资源;
响应于所述第一用户操作,所述可穿戴设备确定出处于空闲状态的第一异步线程,并通过所述第一异步线程将第一网络请求参数发送至所述服务器,所述第一网络请求参数用于所述服务器获取到所述第一网络资源;
所述可穿戴设备通过所述第一应用的主线程执行第一任务事项;
所述可穿戴设备通过所述第一异步线程接收所述服务器发送的所述第一网络资源;
所述可穿戴设备通过所述第一异步线程将所述第一网络资源发送至所述第一应用,并通过所述第一应用基于所述第一网络资源执行第二任务事项。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述可穿戴设备显示第二应用的第二用户界面;
所述可穿戴设备接收用户针对所述第二用户界面的第二用户操作,所述第二用户操作用于从所述服务器中获取第二网络资源;
响应于所述第二用户操作,所述可穿戴设备确定出处于空闲状态的第二异步线程,并通过所述第二异步线程将第二网络请求参数发送至所述服务器,所述第二网络请求参数用于所述服务器获取到所述第二网络资源;
所述可穿戴设备通过所述第二应用的主线程执行第三任务事项;
所述可穿戴设备通过所述第二异步线程接收所述服务器发送的所述第二网络资源;
所述可穿戴设备通过所述第二异步线程将所述第二网络资源发送至所述第二应用,并通过所述第二应用基于所述第二网络资源执行第四任务事项。
13.根据权利要求11或12所述的方法,其特征在于,所述第一网络请求参数包括以下一项或多项:所述第一应用的应用标识、所述第一网络资源的信息、所述服务器的地址。
14.根据权利要求11-13任一项所述的方法,其特征在于,在所述可穿戴设备确定出处于空闲状态的第一异步线程之后,所述方法还包括:
所述可穿戴设备将所述第一异步线程的状态由空闲状态修改为繁忙状态,处于所述繁忙状态的所述第一异步线程无法被其他应用调用。
15.根据权利要求11-14任一项所述的方法,其特征在于,在所述可穿戴设备通过所述第一异步线程接收所述服务器发送的所述第一网络资源之后,所述方法还包括:
所述可穿戴设备将所述第一异步线程的状态由繁忙状态修改为空闲状态,处于所述空闲状态的所述第一异步线程能被其他应用调用。
16.根据权利要求11-14任一项所述的方法,其特征在于,在所述可穿戴设备通过所述第一异步线程接收所述服务器发送的所述第一网络资源之后,所述方法还包括:
在第一时长内未接收到第三网络请求参数的情况下,所述可穿戴设备将所述第一异步线程的状态由繁忙状态修改为空闲状态,处于所述空闲状态的所述第一异步线程能被其他应用调用。
17.根据权利要求11-16任一项所述的方法,其特征在于,所述可穿戴设备确定出处于空闲状态的第一异步线程,具体包括:
在确定出所述第一应用没有调用异步线程的情况下,所述可穿戴设备确定出处于空闲状态的所述第一异步线程。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
在确定出所述第一应用调用有所述第一异步线程的情况下,通过所述第一异步线程将第一网络请求参数发送至所述服务器。
19.根据权利要求17所述的方法,其特征在于,所述方法还包括:
在确定出所述第一应用调用有第三异步线程且处于空闲状态的异步线程的数量大于预设数量的情况下,所述可穿戴设备确定出处于空闲状态的所述第一异步线程。
20.根据权利要求11-19任一项所述的方法,其特征在于,所述可穿戴设备通过所述第一异步线程将第一网络请求参数发送至所述服务器,具体包括:
所述可穿戴设备通过电子设备基于所述第一异步线程将所述第一网络请求参数发送至所述服务器,其中,所述可穿戴设备和所述电子设备之间建立有通信连接;
所述可穿戴设备通过所述电子设备基于所述第一异步线程接收所述服务器发送的所述第一网络资源,具体包括:
所述可穿戴设备通过电子设备接收所述服务器发送的所述第一网络资源。
21.一种可穿戴设备,其特征在于,包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述可穿戴设备执行如权利要求1-10中任一项所述的方法。
22.一种芯片系统,其特征在于,所述芯片系统应用于可穿戴设备,所述芯片系统包括处理电路和接口电路,所述接口电路用于接收指令并传输至所述处理电路,所述处理电路用于运行所述指令以执行如权利要求1-10中任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在可穿戴设备上运行时,使得所述可穿戴设备执行如权利要求1-10中任一项所述的方法。
CN202310857264.8A 2023-07-12 2023-07-12 一种上网系统、方法及可穿戴设备 Pending CN116996496A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310857264.8A CN116996496A (zh) 2023-07-12 2023-07-12 一种上网系统、方法及可穿戴设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310857264.8A CN116996496A (zh) 2023-07-12 2023-07-12 一种上网系统、方法及可穿戴设备

Publications (1)

Publication Number Publication Date
CN116996496A true CN116996496A (zh) 2023-11-03

Family

ID=88529343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310857264.8A Pending CN116996496A (zh) 2023-07-12 2023-07-12 一种上网系统、方法及可穿戴设备

Country Status (1)

Country Link
CN (1) CN116996496A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788334A (zh) * 2019-01-31 2019-05-21 北京字节跳动网络技术有限公司 弹幕处理方法、装置、电子设备及计算机可读存储介质
WO2021052437A1 (zh) * 2019-09-19 2021-03-25 华为技术有限公司 一种应用启动方法及电子设备
CN112559535A (zh) * 2020-12-28 2021-03-26 平安银行股份有限公司 基于多线程的异步任务处理方法、装置、设备及介质
CN113805797A (zh) * 2021-06-17 2021-12-17 荣耀终端有限公司 网络资源的处理方法、电子设备及计算机可读存储介质
CN114721742A (zh) * 2022-04-14 2022-07-08 北京字节跳动网络技术有限公司 应用程序的启动优化方法、装置、计算机设备及存储介质
CN116048833A (zh) * 2022-08-31 2023-05-02 荣耀终端有限公司 一种线程处理方法、终端设备及芯片系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788334A (zh) * 2019-01-31 2019-05-21 北京字节跳动网络技术有限公司 弹幕处理方法、装置、电子设备及计算机可读存储介质
WO2021052437A1 (zh) * 2019-09-19 2021-03-25 华为技术有限公司 一种应用启动方法及电子设备
CN112559535A (zh) * 2020-12-28 2021-03-26 平安银行股份有限公司 基于多线程的异步任务处理方法、装置、设备及介质
CN113805797A (zh) * 2021-06-17 2021-12-17 荣耀终端有限公司 网络资源的处理方法、电子设备及计算机可读存储介质
WO2022262439A1 (zh) * 2021-06-17 2022-12-22 荣耀终端有限公司 网络资源的处理方法、电子设备及计算机可读存储介质
CN114721742A (zh) * 2022-04-14 2022-07-08 北京字节跳动网络技术有限公司 应用程序的启动优化方法、装置、计算机设备及存储介质
CN116048833A (zh) * 2022-08-31 2023-05-02 荣耀终端有限公司 一种线程处理方法、终端设备及芯片系统

Similar Documents

Publication Publication Date Title
CN110381197B (zh) 多对一投屏中音频数据的处理方法、装置及系统
WO2020253719A1 (zh) 一种录屏方法及电子设备
CN113726950B (zh) 一种图像处理方法和电子设备
CN112399390B (zh) 一种蓝牙回连的方法及相关装置
CN113923230B (zh) 数据同步方法、电子设备和计算机可读存储介质
CN114040242B (zh) 投屏方法、电子设备和存储介质
CN112527476B (zh) 资源调度方法及电子设备
US20220353819A1 (en) Method for Reducing Power Consumption of Mobile Terminal and Mobile Terminal
CN112119641B (zh) 通过转发模式连接的多tws耳机实现自动翻译的方法及装置
CN114115770B (zh) 显示控制的方法及相关装置
CN113728295A (zh) 控屏方法、装置、设备及存储介质
CN113141483B (zh) 基于视频通话的共享屏幕方法及移动设备
WO2022127670A1 (zh) 一种通话方法、相关设备和系统
US20230350629A1 (en) Double-Channel Screen Mirroring Method and Electronic Device
CN116048831B (zh) 一种目标信号处理方法和电子设备
CN116051351B (zh) 一种特效处理方法和电子设备
WO2022170854A1 (zh) 视频通话的方法与相关设备
WO2022135195A1 (zh) 显示虚拟现实界面的方法、装置、设备和可读存储介质
CN116996496A (zh) 一种上网系统、方法及可穿戴设备
CN112882823B (zh) 屏幕显示方法及电子设备
CN116996497A (zh) 一种上网系统、方法及可穿戴设备
CN116095219B (zh) 通知显示方法和终端设备
CN116828102B (zh) 录音方法、设备及存储介质
CN116095512B (zh) 终端设备的拍照方法及相关装置
CN116703689B (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