CN116962794A - 应用优化方法及电子设备 - Google Patents

应用优化方法及电子设备 Download PDF

Info

Publication number
CN116962794A
CN116962794A CN202210408333.2A CN202210408333A CN116962794A CN 116962794 A CN116962794 A CN 116962794A CN 202210408333 A CN202210408333 A CN 202210408333A CN 116962794 A CN116962794 A CN 116962794A
Authority
CN
China
Prior art keywords
video
user
queue
application
scene
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
CN202210408333.2A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210408333.2A priority Critical patent/CN116962794A/zh
Priority to PCT/CN2023/088384 priority patent/WO2023202483A1/zh
Publication of CN116962794A publication Critical patent/CN116962794A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例提供一种应用优化方法及电子设备,该方法包括:当确定用户处于预设场景时,获取离线数据;基于离线数据显示第一内容,其中:离线数据为第一应用基于第二队列缓存的视频数据,第一应用用于基于第一队列缓存和播放第一视频,第一内容是当基于第一队列播放视频卡顿时基于离线数据播放的视频;或,离线数据是当预测用户在第一时长内会处于预设场景时缓存的应用数据,第一内容指示已缓存的应用数据;或,离线数据是向网络设备获取的原始的第一消息,第一内容是当接收到针对第一消息的用户操作时基于电子设备存储的离线数据显示的第一消息。本申请能在电子设备无法获取到用于显示第一内容的在线数据时,让用户可以正常查看第一内容。

Description

应用优化方法及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用优化方法及电子设备。
背景技术
用户出行时,可能会处于乘坐飞机等无网络覆盖的场景,乘坐高铁、位于野外等弱网络覆盖的场景。在这类场景下,用户无法正常使用应用程序,例如,智能手机无信号时无法播放短视频,弱信号时播放短视频卡顿。智能手机无信号或弱信号时无法查看图片、视频、文档等即时通讯消息的原始内容,一般只能看到图标或缩略图。
发明内容
本申请实施例公开了一种应用优化方法及电子设备,让用户在出行场景下可以正常使用应用程序,提升用户体验感。
第一方面,本申请提供了一种应用优化方法,应用于电子设备,该方法包括:基于第一队列缓存第一视频的数据和播放所述第一视频,基于第二队列缓存视频数据;当基于所述第一队列播放视频卡顿时,基于所述第二队列中已缓存的第二视频的数据播放所述第二视频。
在一些实施例中,所述基于第一队列缓存第一视频的数据和播放所述第一视频,可以理解为是“边下边播”,也可理解为是所述第一队列用于缓存在线视频的数据。所述基于第二队列缓存视频数据,和,所述基于所述第二队列中已缓存的第二视频的数据播放所述第二视频,可以理解为是“下完再播”,也可理解为是所述第二队列用于缓存离线视频的数据。
在上述方法中,电子设备可以基于第一缓存队列缓存在线视频,以及基于第二缓存队列缓存离线视频,当播放在线视频卡顿时,可以播放离线视频,这样能在下载离线视频的同时不影响在线视频的播放和下载,有效提升用户观看视频的体验。
在一种可能的实现方式中,所述基于第二队列缓存视频数据,包括:当确定用户处于预设场景时,基于所述第二队列缓存视频数据。
在一种可能的实现方式中,所述预设场景为出行场景,所述确定用户处于预设场景,包括:确定所述用户处于第一出行位置,所述第一出行位置为以下任意一项:机场、火车站、高铁站、汽车站、地铁站、公交站、高速路口或码头;当所述第一出行位置不为所述用户的惯常活动位置时,确定所述用户处于所述出行场景。
在上述方法中,电子设备可以在确定用户处于出行场景时,增加维护第二缓存队列,以缓存离线视频,当播放在线视频卡顿时,可以播放第二缓存队列中已缓存的离线视频,即使处于出行场景的用户可能会经过弱网络覆盖或无网络覆盖的区域,也可以正常观看视频,有效提升用户体验。
在一种可能的实现方式中,该方法还包括:当确定所述用户处于所述预设场景时,显示第一信息,所述第一信息用于提示用户缓存离线视频,或者所述第一信息用于指示当前正在缓存离线视频,所述第二队列用于缓存离线视频。
在上述方法中,电子设备可以在确定用户处于出行场景时,显示第一信息,以提示用户缓存离线视频或提示用户当前正在缓存离线视频,让用户感知到视频数据的缓存情况,进一步提升用户体验。
在一种可能的实现方式中,所述第二队列包括短期队列和长期队列,所述短期队列的队列数量小于所述长期队列的队列数量,所述短期队列的缓存优先级高于所述长期队列的缓存优先级;所述基于所述第二队列中已缓存的第二视频的数据播放所述第二视频,包括:当基于所述第一队列播放视频的卡顿时长小于或等于第一时长时,基于所述第二队列包括的所述短期队列中已缓存的所述第二视频的数据播放所述第二视频;当基于所述第一队列播放视频的卡顿时长大于或等于第二时长时,基于所述第二队列包括的所述长期队列中已缓存的所述第二视频的数据播放所述第二视频,所述第一时长和所述第二时长相同或不同。
在上述方法中,由于播放的卡顿时长较短的情况较常出现而且需要的视频数据较少,因此基于队列数量较少但缓存优先级较高的短期队列播放视频,而播放的卡顿时长较长的情况较少出现但需要的视频数据较多,因此基于队列数量较多但缓存优先级较低的长期队列播放视频,也就是说,根据不同业务场景进行缓存和播放的控制,提升设备资源的利用率,产品可用性更高。
在一种可能的实现方式中,该方法还包括:所述基于所述第二队列中已缓存的第二视频的数据播放所述第二视频时,显示第二信息,所述第二信息用于指示所述第二视频为离线视频。
在上述方法中,电子设备播放第二队列中已缓存的视频时,可以显示第二信息,以提示用户当前播放的视频为离线视频,让用户感知到播放视频的情况,进一步提升用户体验。
在一些实施例中,该方法还包括:当基于所述长期队列中已缓存的所述第二视频的数据播放所述第二视频时,显示第二信息,所述第二信息用于指示所述第二视频为离线视频。
在上述方法中,当基于短期队列播放视频时可以不显示第二信息,尽可能让用户感知不到短期卡顿对视频播放的影响,当基于长期队列播放视频时可以显示第二信息,让用户感知到长期卡顿以及播放视频的情况,针对不同情况使用不同的显示方式,更符合用户的实际需求,进一步提升用户体验。
在一种可能的实现方式中,所述预设场景为出行场景,该方法还包括:当确定所述用户已抵达所述出行场景下的目的地时,释放所述第二队列。
在上述方法中,当确定用户已抵达出行场景下的目的地时,可以认为后续基本不会出现播放在线视频卡顿的情况,因此释放第二队列,在保证用户观看视频的体验的情况下,进一步节省设备资源,减少设备功耗。
在一种可能的实现方式中,该方法还包括:当所述第二队列中已缓存的第三视频的存储时长大于或等于第三时长时,删除所述第二队列中的所述第三视频。
在上述方法中,对第二队列中存储的视频数据执行“超时删除”的机制,以使第二队列可以缓存“更新”、“更符合用户需求”的离线视频以用于播放,进一步提升用户体验。
第二方面,本申请提供了一种应用优化方法,应用于电子设备,该方法包括:当预测用户在预设时长内会处于预设场景时,显示第一信息,所述第一信息用于提示用户缓存应用数据;接收第一用户操作;响应于所述第一用户操作,缓存至少一个应用的应用数据;当确定所述用户处于所述预设场景时,显示第二信息,所述第二信息用于指示已缓存的所述至少一个应用的应用数据。
在上述方法中,电子设备可以在预测到用户快要处于预设场景时,通过第一信息提示用户缓存应用数据,并在确定用户处于预设场景时,通过第二信息指示已缓存的应用数据,精准地提醒了用户,从而提升用户在预设场景下使用已缓存的应用数据的便捷性和概率,产品功能更加符合用户需求,用户体验感更好。
在一种可能的实现方式中,所述预设场景为出行场景,所述预测用户在预设时长内会处于预设场景,包括:获取所述用户的第一行程信息;当前时间和所述第一行程信息中的出行时间的差值小于或等于所述预设时长时,预测所述用户在所述预设时长内会处于所述出行场景。
在上述方法中,电子设备可以在预测到用户快要处于出行场景时,通过第一信息提示用户缓存应用数据,后续即使处于出行场景的用户可能会经过弱网络覆盖或无网络覆盖的区域,用户也可以正常使用已缓存的应用数据,有效提升用户体验。
在一种可能的实现方式中,所述第一行程信息为所述用户的行程信息中出行时间最早的行程信息。
在上述方法中,第一行程信息为最近一个未出行的行程信息,基于第一行程信息预测用户是否快要处于出行场景更加准确可靠。
在一种可能的实现方式中,所述预设场景为出行场景,所述确定用户处于预设场景,包括:确定所述用户处于第一出行位置,所述第一出行位置为以下任意一项:机场、火车站、高铁站、汽车站、地铁站、公交站、高速路口或码头;当所述第一出行位置不为所述用户的惯常活动位置时,确定所述用户处于所述出行场景。
在上述方法中,电子设备在确定用户处于出行场景时,通过第二信息指示已缓存的应用数据,精准地提醒了用户,后续即使处于出行场景的用户可能会经过弱网络覆盖或无网络覆盖的区域,用户也可以正常使用第二信息指示的已缓存的应用数据,有效提升用户体验。
第三方面,本申请提供了一种应用优化方法,应用于电子设备,该方法包括:接收网络设备发送的第一消息的压缩内容;向所述网络设备获取所述第一消息的原始内容,并将所述第一消息的原始内容存储到所述电子设备的第一缓存区;接收针对所述第一消息的用户操作;响应于所述用户操作,从所述第一缓存区中获取所述第一消息的原始内容;根据所述第一消息的原始内容显示所述第一消息。
在上述方法中,电子设备可以在接收到针对第一消息的用户操作之前,就向网络设备获取第一消息的原始内容,并存储到本地的第一缓存区,后续接收到该用户操作时,可以直接从第一缓存区获取第一消息的原始内容并显示,这样即使后续接收到该用户操作时电子设备无法从网络设备获取到第一消息的原始内容,电子设备也可以正常获取和显示第一消息的原始内容,有效提升用户体验。
在一种可能的实现方式中,所述向所述网络设备获取所述第一消息的原始内容,包括:当确定用户处于预设场景时,向所述网络设备获取所述第一消息的原始内容。
在一种可能的实现方式中,所述预设场景为出行场景,所述确定用户处于预设场景,包括:确定所述用户处于第一出行位置,所述第一出行位置为以下任意一项:机场、火车站、高铁站、汽车站、地铁站、公交站、高速路口或码头;当所述第一出行位置不为所述用户的惯常活动位置时,确定所述用户处于所述出行场景。
在上述方法中,电子设备可以在确定用户处于出行场景时,向网络设备获取第一消息的原始内容,即使处于出行场景的用户在经过弱网络覆盖或无网络覆盖的区域时,执行了针对第一消息的用户操作,电子设备也可以正常获取和显示第一消息的原始内容,有效提升用户体验。
在一种可能的实现方式中,所述第一消息是根据预设规则确定的,所述预设规则中涉及的参数包括以下至少一项:所述预设场景为出行场景时的出行位置、预测的所述预设场景下处于弱网络覆盖或者无网络覆盖的区域的时长、聊天会话的聊天时间、聊天会话的聊天频率、聊天消息的类型、聊天消息的大小。
在上述方法中,电子设备可能接收到多条消息的压缩内容,第一消息可以是电子设备根据预设规则从这多条消息中确定出来的,也就是说,电子设备不会下载所有的消息到本地,而是有选择地下载一些预测的用户后续更可能查看的消息到本地,在保证用户体验的同时,减少设备的存储压力和通信压力,减少功耗。
在一种可能的实现方式中,该方法还包括:当所述第一缓存区中的第二消息的原始内容的存储时长大于或等于预设时长时,删除所述第一缓存区中的所述第二消息的原始内容。
在上述方法中,对第一缓存区中存储的消息执行“超时删除”的机制,以使第一缓存区可以缓存“更新”、“更符合用户需求”的消息以用于查看,进一步提升用户体验。
第四方面,本申请提供了一种应用优化方法,应用于电子设备,该方法包括:当确定用户处于预设场景时,获取离线数据;基于所述离线数据显示第一内容,其中:所述离线数据为第一应用基于第二队列缓存的视频数据,所述第一应用用于基于第一队列缓存第一视频的数据和播放所述第一视频,所述第一内容是当基于所述第一队列播放视频卡顿时基于所述离线数据播放的视频;或,所述离线数据是当预测所述用户在第一时长内会处于所述预设场景时缓存的至少一个应用的应用数据,所述第一内容用于指示已缓存的所述至少一个应用的应用数据;或,所述离线数据是接收到第一消息的压缩内容后向网络设备获取的所述第一消息的原始内容,所述电子设备的第一缓存区用于存储所述离线数据,所述第一内容是当接收到针对所述第一消息的用户操作时基于所述第一缓存区中的所述离线数据显示的所述第一消息。
在上述方法中,电子设备可以在确定用户处于预设场景时获取离线数据,即使后续电子设备无法获取到用于显示第一内容的在线数据时,也可以通过离线数据显示第一内容,有效提升用户体验。并且,离线数据和第一内容的情况多种多样(例如,离线数据可以是之前缓存的,也可以是当前缓存的),可以很好地适用于不同的应用场景,通用性较高。
在一种可能的实现方式中,所述预设场景为出行场景,所述确定用户处于预设场景,包括:确定所述用户处于第一出行位置,所述第一出行位置为以下任意一项:机场、火车站、高铁站、汽车站、地铁站、公交站、高速路口或码头;当所述第一出行位置不为所述用户的惯常活动位置时,确定所述用户处于所述出行场景。
在上述方法中,电子设备可以在确定用户处于出行场景时获取离线数据,即使处于出行场景的用户可能会经过弱网络覆盖或无网络覆盖的区域,导致电子设备无法获取到用于显示第一内容的在线数据时,也可以通过离线数据显示第一内容,有效提升用户体验。
在一种可能的实现方式中,所述获取离线数据,包括:基于所述第二队列缓存视频数据。
在上述方法中,电子设备可以基于第一缓存队列缓存在线视频,以及基于第二缓存队列缓存离线视频,当播放在线视频卡顿时,可以播放离线视频,这样能在下载离线视频的同时不影响在线视频的播放和下载,有效提升用户观看视频的体验。
在一种可能的实现方式中,该方法还包括:当确定所述用户处于所述预设场景时,显示第一信息,所述第一信息用于提示用户缓存离线视频,或者所述第一信息用于指示当前正在缓存离线视频。
在上述方法中,电子设备可以在确定用户处于预设场景时,显示第一信息,以提示用户缓存离线视频或提示用户当前正在缓存离线视频,让用户感知到视频数据的缓存情况,进一步提升用户体验。
在一种可能的实现方式中,所述第二队列包括短期队列和长期队列,所述短期队列的队列数量小于所述长期队列的队列数量,所述短期队列的缓存优先级高于所述长期队列的缓存优先级;所述基于所述离线数据显示第一内容,包括:当基于所述第一队列播放视频的卡顿时长小于或等于第一时长时,基于所述第二队列包括的所述短期队列中的所述离线数据显示所述第一内容;当基于所述第一队列播放视频的卡顿时长大于或等于第二时长时,基于所述第二队列包括的所述长期队列中的所述离线数据显示所述第一内容,所述第一时长和所述第二时长相同或不同。
在上述方法中,由于播放的卡顿时长较短的情况较常出现而且需要的视频数据较少,因此基于队列数量较少但缓存优先级较高的短期队列播放视频,而播放的卡顿时长较长的情况较少出现但需要的视频数据较多,因此基于队列数量较多但缓存优先级较低的长期队列播放视频,也就是说,根据不同业务场景进行缓存和播放的控制,提升设备资源的利用率,产品可用性更高。
在一种可能的实现方式中,该方法还包括:所述基于所述离线数据显示第一内容时,显示第二信息,所述第二信息用于指示所述第一内容为离线视频。
在上述方法中,电子设备播放第二队列中的离线数据时,可以显示第二信息,以提示用户当前播放的视频为离线视频,让用户感知到播放视频的情况,进一步提升用户体验。
在一些实施例中,该方法还包括:当基于所述长期队列中的所述离线数据显示所述第一内容时,显示第二信息,所述第二信息用于指示所述第一内容为离线视频。
在上述方法中,当基于短期队列播放视频时可以不显示第二信息,尽可能让用户感知不到短期卡顿对视频播放的影响,当基于长期队列播放视频时可以显示第二信息,让用户感知到长期卡顿以及播放视频的情况,针对不同情况使用不同的显示方式,更符合用户的实际需求,进一步提升用户体验。
在一种可能的实现方式中,所述预设场景为出行场景,该方法还包括:当确定所述用户已抵达所述出行场景下的目的地时,释放所述第二队列。
在上述方法中,当确定用户已抵达出行场景下的目的地时,可以认为后续基本不会出现播放在线视频卡顿的情况,因此释放第二队列,在保证用户观看视频的体验的情况下,进一步节省设备资源,减少设备功耗。
在一种可能的实现方式中,该方法还包括:当所述第二队列中已缓存的第二视频的存储时长大于或等于第四时长时,删除所述第二队列中的所述第二视频。
在上述方法中,对第二队列中存储的视频数据执行“超时删除”的机制,以使第二队列可以缓存“更新”、“更符合用户需求”的离线视频以用于播放,进一步提升用户体验。
在一种可能的实现方式中,所述预设场景为出行场景,所述预测所述用户在第一时长内会处于所述预设场景,包括:获取所述用户的第一行程信息;当前时间和所述第一行程信息中的出行时间的差值小于或等于所述第一时长时,预测所述用户在所述第一时长内会处于所述出行场景。
在上述方法中,电子设备可以在预测到用户快要处于出行场景时,缓存离线数据,并在确定用户处于出行场景时,通过第一内容指示已缓存的应用数据(即离线数据),精准地提醒了用户,从而提升用户在出行场景下使用已缓存的应用数据的便捷性和概率,产品功能更加符合用户需求,并且,即使处于出行场景的用户可能会经过弱网络覆盖或无网络覆盖的区域,用户也可以正常使用已缓存的应用数据,有效提升用户体验。
在一种可能的实现方式中,所述第一行程信息为所述用户的行程信息中出行时间最早的行程信息。
在上述方法中,第一行程信息为最近一个未出行的行程信息,基于第一行程信息预测用户是否快要处于出行场景更加准确可靠。
在一种可能的实现方式中,所述第一消息是根据预设规则确定的,所述预设规则中涉及的参数包括以下至少一项:所述预设场景为出行场景时的出行位置、预测的所述预设场景下处于弱网络覆盖或者无网络覆盖的区域的时长、聊天会话的聊天时间、聊天会话的聊天频率、聊天消息的类型、聊天消息的大小。
在上述方法中,电子设备可以在接收到针对第一消息的用户操作之前,就向网络设备获取第一消息的原始内容(即离线数据),并存储到本地的第一缓存区,后续接收到该用户操作时,可以直接从第一缓存区获取第一消息的原始内容并显示第一内容,这样即使后续接收到该用户操作时电子设备无法从网络设备获取到第一消息的原始内容,电子设备也可以正常获取和显示第一消息的原始内容,有效提升用户体验。并且,电子设备可能接收到多条消息的压缩内容,第一消息可以是电子设备根据预设规则从这多条消息中确定出来的,也就是说,电子设备不会下载所有的消息到本地,而是有选择地下载一些预测的用户后续更可能查看的消息到本地,在保证用户体验的同时,减少设备的存储压力和通信压力。
在一种可能的实现方式中,该方法还包括:当所述第一缓存区中的第二消息的原始内容的存储时长大于或等于第五时长时,删除所述第一缓存区中的所述第二消息的原始内容。
在上述方法中,对第一缓存区中存储的消息执行“超时删除”的机制,以使第一缓存区可以缓存“更新”、“更符合用户需求”的消息以用于查看,进一步提升用户体验。
第五方面,本申请提供了一种电子设备,包括:一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,该一个或多个存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,当该一个或多个处理器在执行该计算机指令时,使得该电子设备执行本申请实施例第一方面的任意一种实现方式提供的应用优化方法。
第六方面,本申请提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得该电子设备本申请实施例第一方面的任意一种实现方式提供的应用优化方法。
第七方面,本申请提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得该电子设备执行本申请实施例第一方面的任意一种实现方式提供的应用优化方法。
第八方面,本申请提供了一种电子设备,包括一个或多个功能模块;该一个或多个功能模块用于本申请实施例第一方面的任意一种实现方式提供的应用优化方法。
第九方面,本申请实施例提供一种电子设备,该电子设备包括执行本申请任一实施例所介绍的方法或装置。该电子设备例如为芯片。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的一种电子设备的硬件结构示意图;
图2是本申请实施例提供的一种电子设备的软件架构示意图;
图3A-图3D是本申请实施例提供的一些视频应用的用户界面示意图;
图4A-图4E是本申请实施例提供的一些短视频应用的用户界面示意图;
图5A-图5D是本申请实施例提供的一些负一屏应用的用户界面示意图;
图6A-图6D是本申请实施例提供的一些即时通讯应用的用户界面示意图;
图7是本申请实施例提供的一种应用优化方法的流程示意图;
图8-图9是本申请实施例提供的一些应用优化系统的架构示意图;
图10是本申请实施例提供的又一种应用优化方法的流程示意图;
图11是本申请实施例提供的又一种应用优化系统的架构示意图;
图12是本申请实施例提供的一种通信系统的架构示意图;
图13是本申请实施例提供的又一种应用优化方法的流程示意图;
图14是本申请实施例提供的又一种应用优化系统的架构示意图;
图15是本申请实施例提供的一种电子设备的软件结构示意图;
图16是本申请实施例提供的又一种电子设备的软件结构示意图;
图17是本申请实施例提供的又一种电子设备的软件结构示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供了一种应用优化方法,可以应用于电子设备。电子设备可以将用户要出行的指示通知到应用程序,应用程序可以根据该指示执行对应的优化策略,例如,缓存应用数据,或者提醒用户使用之前缓存的应用数据。
本申请以应用程序为例进行说明,但在具体实现中,应用程序也可以替换为小程序或其他形式的软件模块,本申请对此不作限定。
本申请中,电子设备可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对电子设备的具体类型不作特殊限制。
接下来介绍本申请实施例中提供的示例性的电子设备100。
图1示例性示出一种电子设备100的硬件结构示意图。
应理解的是,图1所示电子设备100仅是一个范例,并且电子设备100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备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)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(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)。
电子设备100通过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)等制造。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过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等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。
气压传感器180C用于测量气压。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。
环境光传感器180L用于感知环境光亮度。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。例如,分层架构的软件系统可以是安卓(Android)系统,也可以是鸿蒙(harmony)操作系统(operating system,OS),或其它软件系统。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2示例性示出一种电子设备100的软件架构示意图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,通话,音乐,图库,负一屏,视频,短视频,即时通讯等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)和场景检测模块等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
场景检测模块用于识别用户是否要出行/用户是否处于出行场景。
在一些实施例中,场景检测模块例如但不限于通过信号指纹、围栏、小区(cell)标识、GPS等来识别用户是否处于预设位置,预设位置例如但不限于包括机场、火车站/高铁站、汽车站、地铁站、公交站、高速路口、码头、城镇/城乡交界处等。其中,围栏可以是预设位置的围栏,例如,围栏是机场、火车站/高铁站的闸机。信号指纹可以用于识别采集该信号指纹的位置,例如为室内位置,信号指纹例如包括信号标识(室内环境中信号源的标识,例如,Wi-Fi信号的标识信息:服务集标识(service set identifier,SSID))和信号强度(例如,Wi-Fi信号的信号强度:接收信号强度指示(received signal strength indication,RSSI),电子设备100和信号源的距离越近,对应的信号强度越强)。
当用户处于预设位置时,场景检测模块可以结合该用户的惯常活动位置,利用决策树的方式,将该预设位置不为该惯常活动位置的情况筛选出来(例如,将该用户为该预设位置的工作人员的情况剔除掉),从而确定(在筛选出来的情况下)该用户要出行/该用户处于出行场景。例如,场景检测模块可以预设有该用户的惯常活动位置的信号指纹,当该预设位置的信号指纹和该惯常活动位置的信号指纹不同时,可以表征该预设位置不为该惯常活动位置。
在一些实施例中,当场景检测模块识别到用户要出行/用户处于出行场景时,可以通过应用程序框架层向应用程序层的至少一个应用发送出行用户的指示,可选地,该指示还可以包括出行用户当前所处的出行位置,该出行位置即为上述确定的用户所处的预设位置。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合短视频应用的使用场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为短视频应用的图标为例,短视频应用调用应用框架层的接口,启动短视频应用,进而通过调用内核层启动显示驱动和音频驱动,通过显示屏194和音频模块170播放短视频应用的首页中的视频。
接下来示例性介绍本申请实施例涉及的用户界面实施例。
图3A-图3D示例性示出视频应用的用户界面示意图。
在一些实施例中,用户使用电子设备100的视频应用播放视频的过程中,若视频应用获取到用户要出行的指示,可以提示用户开启智能离线模式,例如,电子设备100可以显示图3A所示的用户界面310。
如图3A所示,用户界面310可以包括信号标识311,信号标识311用于表征电子设备100当前接入了信号格数为5格(即满格)的5G网络,并且接入了Wi-Fi网络。用户界面310可以包括播放框312、名称313和选集信息314,播放框312用于显示视频的图像,名称313指示当前播放的视频的名称:“视频a”,选集信息314用于展示“视频a”的具体集数,选集信息314中的播放标识314A用于指示当前具体播放“视频a”的第7集。
如图3A所示,用户界面310还包括提示信息315,提示信息315可以包括字符“是否启用智能离线模式?启用后会自动缓存当前视频,以在行程中观看”,用于提示用户开启智能离线模式。提示信息315还包括确认控件315A和取消控件315B,确认控件315A用于启用智能离线模式,取消控件315B用于取消启用智能离线模式。在一些实施例中,启用智能离线模式后,视频应用可以缓存当前播放的“视频a”的视频数据,可选地,视频应用可以缓存当前播放的“视频a”的第7集和之后的N集,N为非负整数,以下示例以视频应用缓存了“视频a”的第7集和第8集(即N为1)为例进行说明。
在一些实施例中,图3A所示的实施例(包括视频应用缓存了“视频a”的第7集和第8集)之后,当电子设备100处于无网络覆盖的场景(例如用户乘坐飞机)或弱网络覆盖的场景(例如用户乘坐高铁途径隧道或在野外郊游)时,用户可以继续使用电子设备100的视频应用播放视频,例如,电子设备100可以显示图3B所示的用户界面320。
如图3B所示,用户界面320和图3A所示的用户界面310类似,区别在于,用户界面320中的信号标识321用于表征电子设备100当前无法接入网络,即处于无网络覆盖的场景。并且,在用户界面320中,选集信息322中的播放标识322A用于指示当前具体播放“视频a”的第8集。用户界面320中的播放框323还包括视频标识323A,视频标识323A用于指示当前播放的视频(即“视频a”的第8集)为离线视频。这样用户即使处于无网络覆盖的场景下,也可以正常观看视频,提升用户体验。
在一些实施例中,图3B所示的实施例之后,当上述缓存的“视频a”的第7集和第8集播放完毕,并且电子设备100仍然处于无网络覆盖的场景时,电子设备100可以提示用户离线视频播放完毕,例如,电子设备100可以显示图3C所示的用户界面330。
如图3C所示,用户界面330和图3B所示的用户界面320类似,区别在于,用户界面330中的播放框331未显示视频的图像,而是包括提示信息322,提示信息322包括字符“离线视频播放完毕,等待网络连接”。
在一些实施例中,图3B或图3C所示的实施例之后,当电子设备100的网络恢复正常(例如用户抵达出行的目的地)时,用户可以正常使用视频应用播放在线视频,例如,电子设备100可以显示图3D所示的用户界面340。
如图3D所示,用户界面340和图3A所示的用户界面310类似,用户界面340中的信号标识341用于表征电子设备100当前接入了信号格数为5格(即满格)的5G网络,但未接入Wi-Fi网络。但是播放的视频不同,在用户界面340中,选集信息342中的播放标识342A用于指示当前具体播放“视频a”的第9集,即上述缓存的“视频a”的第7集和第8集之后的视频内容。
图4A-图4E示例性示出短视频应用的用户界面示意图。
在一些实施例中,用户可以通过电子设备100的短视频应用的设置功能启用智能离线模式,例如,电子设备100可以显示图4A所示的用户界面410。
如图4A所示,用户界面410可以是短视频应用的设置界面。用户界面410可以包括设置名称411、设置开关412和设置说明413。设置名称411可以指示当前设置的功能的名称:“智能离线模式”,设置开关412可以用于开启或关闭该功能,设置说明413可以包括该功能的说明,例如:“启用智能离线模式后,若检测到处于出行场景,会自动缓存短视频,以在行程中观看”。用户界面410中的设置开关412为开启状态,表征“智能离线模式”的功能已被开启。
在一些实施例中,图4A所示的实施例之后,用户使用短视频应用播放短视频的过程中,若短视频应用获取到用户要出行的指示,可以自动缓存短视频,并提示用户当前已启用智能离线模式,例如,电子设备100可以显示图4B所示的用户界面420。
如图4B所示,用户界面420可以包括信号标识421,信号标识421用于表征电子设备100当前接入了信号格数为5格(即满格)的5G网络。用户界面420还包括短视频的播放界面422,播放界面422可以包括当前播放的短视频1的标识信息422A,标识信息422A可以包括该短视频1的发布者(“用户1”)、标题(“主题1”)和背景音乐(“配乐1”)。用户界面420还包括提示信息423,提示信息423可以包括字符“已启用智能离线模式,当前为非WiFi环境,会消耗一部分流量”,表征智能离线模式已开启,以及当前正在使用蜂窝网络(即上述5G网络)缓存短视频。
在一些实施例中,短视频应用获取到用户要出行的指示后,可以缓存当前播放的短视频1和其他N个短视频,N为非负整数,这N个短视频例如是按照用户正常观看顺序的短视频1后的N个短视频,其中,按照用户正常观看顺序的短视频1后的一个短视频可以是:电子设备100显示用户界面420时,响应于一次从下往上滑动的用户操作,显示的下一个短视频。以下示例以短视频应用缓存了短视频1和短视频2(即N为1)为例进行说明。
在一些实施例中,短视频应用缓存了短视频1和短视频2之后,假设图4B所示的用户界面420中短视频1未播放完毕时,电子设备100就处于无网络覆盖的场景或弱网络覆盖的场景,则电子设备100可以为用户播放缓存的短视频1,例如,电子设备100可以显示图4C所示的用户界面430。
如图4C所示,用户界面430和图4B所示的用户界面420类似,区别在于,用户界面430中的信号标识431用于表征电子设备100当前接入了信号格数为2格的2G网络,即处于弱网络覆盖的场景。并且,用户界面430还包括标识信息432,标识信息432用于指示当前播放的短视频1为离线视频。这样用户即使处于弱网络覆盖的场景下,也可以正常观看短视频,提升用户体验。
在一些实施例中,图4C所示的实施例之后,电子设备100处于无网络覆盖的场景或弱网络覆盖的场景下,若电子设备100播放缓存的最后一个的短视频2时,接收到用于触发观看下一个短视频的用户操作(例如从下往上滑动的用户操作),电子设备100可以提示用户没有其他可播放的离线短视频,例如,电子设备100可以显示图4D所示的用户界面440。
如图4D所示,用户界面440可以包括信号标识441、短视频的播放界面442和提示信息443。其中,信号标识441用于表征电子设备100当前接入了信号格数为2格的2G网络,即处于弱网络覆盖的场景。播放界面442可以包括当前播放的短视频2的标识信息442A和标识信息442B,标识信息442A可以包括该短视频2的发布者(“用户2”)、标题(“主题2”)和背景音乐(“配乐2”),标识信息442B用于指示当前播放的短视频2为离线视频。提示信息443可以包括字符“离线短视频到底了”,用于提示用户当前没有其他可播放的离线短视频。
在一些实施例中,图4C或图4D所示的实施例之后,当电子设备100的网络恢复正常时,用户可以正常使用短视频应用播放在线短视频,例如,电子设备100可以显示图4E所示的用户界面450。
如图4E所示,用户界面450和图4B所示的用户界面420类似,用户界面450中的信号标识451也用于表征电子设备100当前接入了信号格数为5格(即满格)的5G网络,但播放的短视频不同,在用户界面450中,短视频的播放界面452用于播放在线的短视频3。
以上实施例中,视频应用获取到用户要出行的指示再提示用户开启智能离线模式。短视频应用是基于用户提前设置启用的智能离线模式,获取到用户要出行的指示时直接按照智能离线模式工作。在具体实现中,任意一个应用可以但不限于使用上述任意一种实现方式来启用智能离线模式,具体示例可参见视频应用和短视频应用的用户界面实施例。
图5A-图5D示例性示出负一屏的用户界面示意图。
在一些实施例中,电子设备100的负一屏应用可以根据用户的行程信息,在用户出行之前(例如,距离行程信息中的出行时间1天的时刻)提示用户进行应用数据的缓存,例如,电子设备100可以显示图5A所示的用户界面510。
如图5A所示,用户界面510可以包括信号标识511、行程卡片512和离线推荐卡片513。其中,信号标识511用于表征电子设备100当前接入了信号格数为5格的5G网络。行程卡片512可以指示用户的行程信息,该行程信息可以包括:出行时间为3月16日(星期三)6点44分、交通工具为编号为D1111的动车、出发站为武汉站、到达站为深圳站。行程卡片512可以包括指示信息512A,指示信息512A可以指示当前时间距离上述行程信息中的出行时间的时长:“24小时”。离线推荐卡片513可以包括提示信息,例如“离线服务推荐”、“给您推荐精彩视频”和“一键缓存即可在行程中观看”。离线推荐卡片513还包括缓存控件513A和列表控件513B,缓存控件513A可以用于触发缓存至少一个应用的应用数据,例如,这至少一个应用为用户最近使用的N个应用,N为正整数,这至少一个应用的应用数据为用户最近查看过的应用数据和/或应用为用户推荐的时事热点等应用数据。列表控件513B可以用于触发显示推荐缓存的应用数据的详细信息,例如,该推荐缓存的应用数据为用户最近查看过的应用数据和/或应用为用户推荐的时事热点等应用数据。
在一些实施例中,电子设备100可以接收作用于图5A所示的用户界面510中的缓存控件513A的用户操作(例如点击操作),响应于该用户操作,缓存至少一个应用的应用数据,例如,缓存最近观看的视频应用中的“视频a”的视频数据,电子设备100显示图5B所示的用户界面520。
如图5B所示,用户界面520和图5A所示的用户界面510类似,区别在于,离线推荐卡片显示的内容不同。用户界面520中的信号标识521用于表征电子设备100当前接入了信号格数为5格的5G网络。用户界面520中的离线推荐卡片522用于显示当前正在缓存的应用数据:“视频a”的第7集,离线推荐卡片522还包括标识信息522A,标识信息522A包括字符“非wifi网络”,用于指示当前正在使用蜂窝网络(即上述5G网络)缓存应用数据。
在一些实施例中,电子设备100缓存了至少一个应用的应用数据(例如包括图5B所示的实施例)之后,若负一屏应用获取到用户要出行的指示,可以显示上述缓存的应用数据,例如,电子设备100显示图5C所示的用户界面530。
如图5C所示,用户界面530和图5A所示的用户界面510类似,区别在于,行程卡片和离线推荐卡片显示的内容不同。用户界面530中的信号标识531用于表征电子设备100当前接入了信号格数为5格的5G网络。在用户界面530中,行程卡片532中的指示信息532A可以指示当前时间距离行程卡片532指示的行程信息中的出行时间的时长:“2小时”,上述用户要出行的指示可以是在用户处于动车站时获取到的。离线推荐卡片533用于显示已经缓存好的应用数据,离线推荐卡片533包括下载信息533A、应用数据533B和应用数据533C,其中,下载信息533A包括字符“已下载3(1小时40分钟)”,用于指示已缓存了3个应用数据,播放这3个应用数据的总时长为1小时40分钟。这3个应用数据可以包括应用数据533B指示的应用数据(即视频应用中的视频数据:“视频a”的第7集和第8集),以及应用数据533C指示的应用数据(即短视频应用中的短视频数据,该短视频数据的合计大小为426兆字节(Mbyte,MB))。用户可以通过离线推荐卡片533获取到上述缓存的应用数据,并在行程中(例如处于无网络覆盖或弱网络覆盖的场景下时)观看,具体示例和图3B-图3C、图4C-图4D类似。
在一些实施例中,电子设备100可以接收作用于图5A所示的用户界面510中的列表控件513B的用户操作(例如点击操作),响应于该用户操作,显示推荐缓存的应用数据的详细信息,例如,电子设备100显示图5D所示的用户界面540。
如图5D所示,用户界面540中的信号标识541用于表征电子设备100当前接入了信号格数为5格的5G网络。用户界面540包括标题542(包括字符“推荐列表”)、视频应用的推荐信息543和短视频应用的推荐信息544,其中:
视频应用的推荐信息543可以包括智能缓存的控件543A、最近观看视频的缓存控件543B和时事热点的缓存控件543C。控件543A可以触发缓存视频应用的应用数据,该应用数据可以是电子设备100根据预设规则确定的,例如包括最近观看的视频数据和时事热点的视频数据。缓存控件543B可以触发缓存视频应用中用户最近观看的视频数据,例如“视频a”的第7集。缓存控件543C可以触发缓存视频应用中时事热点的视频数据。视频应用的推荐信息543还可以包括下载控件543D,下载控件543D可以触发显示视频应用的用户界面(例如首页),用于用户自行选择缓存的视频数据。
短视频应用的推荐信息544可以包括智能缓存的控件544A、推荐视频的缓存控件544B、关注视频的缓存控件544C和下载控件544D。控件544A、下载控件544D和上述控件543A、上述下载控件543D类似。缓存控件544B可以触发缓存短视频应用中推荐的视频数据,缓存控件544C可以触发缓存短视频应用中用户关注的其他用户的视频数据。
可以理解地,用户可以基于上图5D所示的推荐列表触发电子设备100缓存应用数据,例如,通过控件543A、缓存控件543B、缓存控件543C、控件544A、缓存控件544B、缓存控件544C中至少一个控件触发缓存数据;例如,通过下载控件543D触发显示视频应用的用户界面后,基于该用户界面触发缓存数据;例如,基于下载控件544D触发显示的短视频应用的用户界面后,基于该用户界面触发缓存数据。在一些实施例中,负一屏应用获取到用户要出行的指示,可以显示上述基于图5D所示的推荐列表触发缓存应用数据,具体示例和图5C所示的用户界面530类似。
图6A-图6D示例性示出即时通讯应用的用户界面示意图。
如图6A所述,电子设备100可以显示即时通讯应用的用户界面610。用户界面610可以包括信号标识611和会话信息612,其中,信号标识611用于表征电子设备100当前接入了信号格数为5格(即满格)的5G网络,并且接入了Wi-Fi网络。会话信息612用于指示当前会话的聊天对象“Henry”。用户界面610还包括当前会话的多条聊天消息,例如,按照接收时刻从早到晚依次为视频形式的消息613、图片形式的消息614和文档形式(具体为pdf格式)的消息615。
在一些实施例中,假设用户已提前开启即时通讯应用的智能离线模式,具体示例可参见图4A。若即时通讯应用获取到用户要出行的指示,可以自动缓存即时通讯应用中的聊天消息(也可称为即时通讯消息),并提示用户当前已开启智能离线模式,例如,电子设备100可以显示图6B所示的用户界面620。
如图6B所示,用户界面620可以包括信号标识621、提示信息622和会话列表623。信号标识621用于表征电子设备100当前接入了信号格数为5格(即满格)的5G网络,并且接入了Wi-Fi网络。提示信息622包括字符“已启用智能离线模式”,用于提示用户当前已开启智能离线模式。会话列表623包括多个聊天会话的标识信息,这多个标识信息可以是按照聊天时间从晚到早的顺序从上往下排列的,其中,对于任意一个聊天会话而言,若最近一条即时通讯消息为其他用户发送本用户(即使用电子设备100的用户)的,则该聊天会话的聊天时间为这条消息的接收时刻,若最近一条即时通讯消息为本用户发送给其他用户的,则该聊天会话的聊天时间为这条消息的发送时刻。例如,会话列表623中的标识信息623A用于指示聊天时间最晚的一个聊天会话(也可称为最近一个聊天会话),该聊天会话的聊天对象为“Henry”,该聊天会话的具体内容可参见图6A所示的用户界面610。
在一些实施例中,即时通讯应用获取到用户要出行的指示后,可以按照预设规则缓存即时通讯消息,可选地,即时通讯应用可以缓存最近N个聊天会话的即时通讯消息,并且对于其中一个聊天会话而言,缓存了最近M个即时通讯消息中大小较小的前X个即时通讯消息,N、M、X均为正整数。例如,假设N为1,也就是说,即时通讯应用缓存了最近一个聊天会话中的即时通讯消息,该聊天会话即为图6A所示的聊天对象为“Henry”的聊天会话,也是图6B所示的标识信息623A指示的聊天会话。图6A所示的用户界面610示出了该聊天会话的聊天消息,按照接收时刻从早到晚依次为视频形式的消息613、图片形式的消息614和文档形式的消息615,并且,这三条聊天消息按照从小到大的顺序排列依次为:消息614、消息613和消息615。假设X为2,也就是说,即时通讯应用缓存了该聊天会话中接收时刻较晚且大小较小的消息613和消息614,不缓存大小较大的消息615。
不限于上述示例的根据即时通讯消息的大小顺序来确定缓存的消息,在另一些示例中,也可以根据即时通讯消息的接收时刻的早晚顺序来确定缓存的消息,例如,即时通讯应用也可以缓存该聊天会话中接收时刻较晚的消息614和消息615,不缓存接收时刻较早的消息613。
在一些实施例中,即时通讯应用缓存了上述消息613和消息614(例如图6B所示的实施例)之后,电子设备100处于无网络覆盖的场景或弱网络覆盖的场景时,可以响应于用于查看消息613或消息614的原始内容的用户操作,显示消息613或者消息614的原始内容。
例如,电子设备100可以接收作用于图6A所示的用户界面610中的消息614的用户操作(例如点击操作),响应于该用户操作,显示图6C所示的用户界面630。如图6C所示,用户界面630可以包括信号标识631和图片632,其中,信号标识631用于表征电子设备100当前无法接入网络,即处于无网络覆盖的场景。图片632为图6A所示的用户界面610中的消息614的原始内容,例如为图片形式的消息614的原图。
可以理解地,由于即时通讯应用没有缓存上述消息615,因此,当电子设备100接收到作用于图6A所示的用户界面610中的消息615的用户操作(例如点击操作)时,不会显示消息615的原始内容,例如,响应于该用户操作,显示图6D所示的用户界面640。如图6D所示,用户界面640包括信号标识641、文件指示642和下载信息643,其中,信号标识641用于表征电子设备100当前无法接入网络,即处于无网络覆盖的场景。文件指示642包括文档图标,和图6A所示的用户界面610中的消息615包括的文档图标一致。下载信息643包括下载进度条和说明信息(“正在下载…(0.0B/11.3MB)”),可以表征当前无法成功下载消息615。因此,此时用户无法查看消息615的原始内容,当电子设备100的网络恢复正常(例如用户抵达出行的目的地)时,才可能成功下载消息615,从而用户才能查看消息615的原始内容。
基于以上实施例,接下来示例性介绍本申请实施例提供的应用优化方法。该方法可以应用于图1所示的电子设备100。该方法可以应用于图2所示的电子设备100。
请参见图7,图7是本申请实施例提供的一种应用优化方法的流程示意图。图7以电子设备100包括场景检测模块和短视频应用为例进行说明,场景检测模块和短视频应用的说明可参见图2中场景检测模块和短视频应用的说明。该方法可以包括但不限于如下步骤:
S101:短视频应用维护在线视频对应的第一缓存队列。
本申请中,短视频应用可以以队列的结构缓存(也可称为下载)视频数据,其中,缓存的视频数据存储在缓存队列(也可简称为队列)中,例如,电子设备从网络设备(例如,为短视频应用提供服务的应用服务器)下载视频数据,并将下载的视频数据存储到缓存队列。也可以称为是短视频应用维护缓存队列,缓存队列中存储的视频数据用于短视频应用播放短视频。在一些实施例中,短视频应用维护的任意一个缓存队列用于存储一个短视频的视频数据。本申请中的短视频可以是播放时长小于或等于预设时长(如30秒)的视频。
在一些实施例中,第一缓存队列包括N个缓存队列,N为大于1的整数。在一些实施例中,对于这N个缓存队列中任意一个缓存队列,短视频应用下载视频数据到该缓存队列中的同时,可以播放该缓存队列中已有的视频数据,可以理解为是“边下边播”,当前播放的短视频可以理解为是在线视频。
在一些实施例中,对于这N个缓存队列中任意一个缓存队列,假设短视频应用已将一个短视频的视频数据全部下载到该缓存队列,短视频应用播放完该缓存队列中的视频数据(即播放完该短视频)后,可以将该缓存队列中的视频数据存储到电子设备的存储器中,并且将该缓存队列清空,以便短视频应用继续将另一个短视频的视频数据下载到该缓存队列中。例如,可以将缓存队列理解为是一个临时的缓存区(buffer),该缓存队列存满一个短视频的视频数据之后,就将该缓存队列中的视频数据转移到本地存储器,该缓存队列可以继续存储其他短视频的视频数据。
例如,如图8所示,短视频应用侧的缓存队列中的高优先级队列为第一缓存队列。第一缓存队列包括缓存队列1-缓存队列4。短视频应用维护第一缓存队列时,可以将短视频4-短视频7的视频数据分别下载到缓存队列1-缓存队列4中,其中,短视频4为短视频应用正在播放的视频,即短视频应用当前播放缓存队列1中的视频数据。短视频应用播放缓存队列1中的视频数据时,可以持续下载短视频4的视频数据到缓存队列1中,直到短视频4下载完毕。短视频应用可以下载短视频5-短视频7,直到短视频5-短视频7中每个短视频的开头部分下载完毕。当短视频应用接收到播放下一个短视频的指令时,短视频应用可以播放缓存队列2中的视频数据,同时持续下载短视频5的视频数据到缓存队列2,直到短视频5下载完毕。并且,短视频应用会将缓存队列1中的视频数据清空(短视频1的视频数据例如存储到本地),并将短视频8的视频数据下载到缓存队列1中,直到短视频8的开头部分下载完毕。其中,上述短视频的开头部分例如为该短视频前5秒的部分,不限于此,也可以是该短视频前1/3的部分,本申请对此不作限定。
可以理解地,当电子设备处于网络性能较好的场景时,短视频应用缓存视频数据的速度大于播放视频数据的速度,因此,基于第一缓存队列播放短视频时不会出现卡顿,但当电子设备处于无网络覆盖或弱网络覆盖的场景时,短视频应用缓存视频数据的速度很可能跟不上播放视频数据的速度,因此,基于第一缓存队列播放短视频时会出现卡顿。
S102:场景检测模块确定处于出行场景。
在一些实施例中,场景检测模块可以但不限于通过信号指纹、围栏、小区(cell)标识、GPS等来识别用户是否处于预设的出行位置,从而判断用户是否处于出行场景。预设的出行位置例如但不限于包括机场、火车站/高铁站、汽车站、地铁站、公交站、高速路口、码头、城镇/城乡交界处等。可选地,场景检测模块可以根据信号指纹识别出采集该信号指纹的位置,例如为室内位置,信号指纹例如包括信号标识(例如,Wi-Fi信号的标识信息SSID)和信号强度(例如,Wi-Fi信号的信号强度RSSI)。可选地,场景检测模块可以根据围栏识别出该围栏所在的位置,例如,围栏是机场、火车站/高铁站的闸机。可选地,场景检测模块可以根据电子设备所在的小区的标识信息识别出当前所在的位置。可选地,场景检测模块可以根据电子设备的GPS坐标识别出该坐标对应的位置。
在一些实施例中,场景检测模块确定用户处于预设的出行位置时,可以判断该出行位置是否为该用户的惯常活动位置,当该出行位置不为该用户的惯常活动位置时(例如,该用户不为该出行位置的工作人员),可以确定当前处于出行场景/用户要出行。例如,场景检测模块对比该出行位置的信号指纹和预设的惯常活动位置的信号指纹,当二者不同时,确定该出行位置不为该惯常活动位置。
在一些实施例中,当场景检测模块检测到当前处于出行场景/用户要出行时,可以执行S103。
S103:场景检测模块向短视频应用发送指示处于出行场景/用户要出行的第一信息。
在一些实施例中,第一信息还包括S102中场景检测模块确定的用户所处的出行位置。
S104:短视频应用基于第一信息,维护离线视频对应的第二缓存队列。
在一些实施例中,短视频应用接收到第一信息后,可以增加维护的缓存队列:第二缓存队列,也可称为是使能第二缓存队列。同时,短视频应用仍然会维护第一缓存队列。
在一些实施例中,短视频应用接收到第一信息后,可以使能第二缓存队列并显示提示信息,例如,电子设备可以显示图4B所示的用户界面420,用户界面420中的信号标识421用于表征电子设备当前接入了信号格数为5格(即满格)的5G网络,即处于网络性能较好的场景。用户界面420包括提示信息423(“已启用智能离线模式,当前为非WiFi环境,会消耗一部分流量”),表征智能离线模式已开启,以及当前正在使用电子设备的蜂窝网络缓存短视频。其中,智能离线模式开启的情况下,短视频应用才会执行S104。在一些实施例中,短视频应用接收到第一信息之前,电子设备可以接收用户操作,并基于该用户操作开启智能离线模式,例如,电子设备可以显示图4A所示的用户界面410,用户界面410中的设置开关412为开启状态,表征“智能离线模式”的功能已被开启。
在另一些实施例中,短视频应用接收到第一信息后,可以显示提示信息。短视频应用可以接收用户基于该提示信息输入的用户操作,并基于该用户操作开启智能离线模式和执行S104。其中,智能离线模式开启的情况下,短视频应用才会执行S104。例如,短视频应用接收到第一信息后,电子设备可以显示图3A所示的用户界面310中的提示信息315(包括字符“是否启用智能离线模式?启用后会自动缓存当前视频,以在行程中观看”),提示信息315还包括确认控件315A和取消控件315B,确认控件315A用于启用智能离线模式,取消控件315B用于取消启用智能离线模式。电子设备可以接收作用于确认控件315A的用户操作,响应于该用户操作,开启智能离线模式和执行S104。
在一些实施例中,第二缓存队列包括M个缓存队列,M为大于1的整数。在一些实施例中,对于这M个缓存队列中任意一个缓存队列,短视频应用可以下载短视频的视频数据到该缓存队列中,直到该短视频下载完毕。短视频应用可以基于存储有一个完整的短视频的视频数据的缓存队列播放该短视频,可以理解为是“下完再播”,该短视频可以理解为是离线视频。
在一些实施例中,对于这M个缓存队列中任意一个缓存队列,短视频应用将一个短视频的视频数据全部下载到该缓存队列后,短视频应用可以在经过预设时长(例如24小时)后将该缓存队列清空,以便短视频应用继续将另一个短视频的视频数据下载到该缓存队列中。
在一些实施例中,对于这M个缓存队列中任意一个缓存队列,短视频应用将一个短视频的视频数据全部下载到该缓存队列后,若短视频应用没有播放该缓存队列中的视频数据,则短视频应用可以在经过预设时长(例如24小时)后将该缓存队列清空;若短视频应用播放了该缓存队列中的视频数据,可以在播放完毕之后就将该缓存队列清空,并且将该缓存队列中的视频数据存储到电子设备的存储器中。
例如,如图8所示,短视频应用侧的缓存队列中的低优先级队列为第二缓存队列。第二缓存队列包括缓存队列5-缓存队列12。短视频应用维护第二缓存队列时,可以先将短视频6下载到缓存队列5中,当短视频6下载完毕时,再将短视频7下载到缓存队列6中,后续类似,也就是说依次下载视频数据到缓存队列5-缓存队列12。
在一些实施例中,第二缓存队列的优先级低于第一缓存队列的优先级,可选地,短视频应用会先缓存视频数据到第一缓存队列,再缓存视频数据到第二缓存队列。例如,如图8所示,短视频应用侧的缓存队列中,高优先级队列为第一缓存队列,低优先级队列为第二缓存队列。短视频应用会先下载视频数据到第一缓存队列,第一缓存队列中的缓存队列1存储有一个完整的短视频的视频数据,并且缓存队列2-缓存队列4均存储有一个短视频的开头部分(不同缓存队列存储的短视频不同)之后,可以理解为是第一缓存队列中的视频数据下载结束之后,短视频应用可以下载视频数据到第二缓存队列。短视频应用下载视频数据到第二缓存队列的过程中,若需要下载视频数据到第一缓存队列(例如接收到播放下一个短视频的指令时,需要下载该短视频的视频数据),会优先下载视频数据到第一缓存队列。
在一些实施例中,第二缓存队列缓存的任意一个短视频可以和第一缓存队列缓存的短视频不同。在一些实施例中,第一缓存队列和第二缓存队列缓存的短视频为短视频应用推荐的短视频,例如,短视频应用可以根据播放历史、个人信息等用户信息,时事热点等为用户推荐短视频。
S105:短视频应用进行卡顿检测。
在一些实施例中,短视频应用可以检测播放的短视频是否出现卡顿,可选地以及卡顿的时长。可选地,短视频应用可以在基于第一缓存队列播放短视频时,检测是否出现卡顿,可选地以及卡顿的时长。例如,短视频应用可以检测当前播放的短视频的播放进度保持不变的时长是否超过预设时长,当播放进度保持不变的时长超过预设时长时,可以认为出现卡顿,可以记录播放进度保持不变的时长,即为卡顿的时长。
S106:当检测到不卡顿时,短视频应用基于第一缓存队列播放短视频;当检测到卡顿时,短视频应用基于第二缓存队列播放短视频。
在一些实施例中,当检测到不卡顿时,短视频应用播放第一缓存队列中的视频数据,可以理解为是播放在线的短视频。例如,短视频应用基于第一缓存队列播放短视频时,电子设备可以显示图4E所示的用户界面450,用户界面450中的信号标识451用于表征电子设备当前接入了信号格数为5格(即满格)的5G网络,即处于网络性能较好的场景,此时短视频应用检测到不卡顿。用户界面450用于播放在线的短视频3。
在另一些实施例中,当检测到卡顿时,短视频应用播放第二缓存队列中的视频数据,可以理解为是播放离线的短视频。在一种情况下,短视频应用播放离线短视频时的用户界面和播放在线短视频的用户界面相同,均不包括指示播放的短视频为离线视频的信息,例如,短视频应用基于第二缓存队列播放短视频时,电子设备显示的界面和图4E所示的用户界面450类似,区别在于,电子设备显示的界面中的信号标识为图4C所示的用户界面430中的信号标识431,用于表征电子设备当前接入了信号格数为2格的2G网络,即处于弱网络覆盖的场景,此时短视频应用检测到卡顿。并且,电子设备显示的界面用于播放离线的短视频3。在另一种情况下,短视频应用播放离线短视频时的用户界面和播放在线短视频的用户界面不同,短视频应用播放离线短视频时的用户界面包括指示该短视频为离线视频的信息,例如,短视频应用基于第二缓存队列播放短视频时,电子设备可以显示图4C所示的用户界面430,用户界面430中的信号标识431用于表征电子设备当前接入了信号格数为2格的2G网络,即处于弱网络覆盖的场景,此时短视频应用检测到卡顿。用户界面430还包括用于指示当前播放的短视频1为离线视频的标识信息432。
在一些实施例中,短视频应用基于第一缓存队列播放短视频时,若检测到卡顿,可以切换至基于第二缓存队列播放短视频。例如,短视频应用基于第一缓存队列播放短视频时,电子设备可以显示图4B所示的用户界面420,用户界面420用于播放短视频1,用户界面420中的信号标识421用于表征电子设备当前接入了信号格数为5格(即满格)的5G网络,即处于网络性能较好的场景。当从网络性能较好的场景切换到无网络覆盖或弱网络覆盖的场景时,短视频应用检测到卡顿,则可以切换至基于第二缓存队列播放短视频,电子设备可以显示图4C所示的用户界面430,用户界面430也用于播放短视频1,用户界面430中的信号标识431用于表征电子设备当前接入了信号格数为2格的2G网络,即处于弱网络覆盖的场景。
不限于上述示例的情况,在另一些示例中,短视频应用基于第一缓存队列播放短视频时,若检测到卡顿,可以显示提示信息,该提示信息用于提示用户观看下一个短视频,可选地,短视频应用可以在接收到用于观看下一个短视频的用户操作时,基于第二缓存队列播放短视频。
在一些实施例中,短视频应用基于第二缓存队列播放短视频时,若检测到不卡顿,可以切换至基于第一缓存队列播放短视频。例如,短视频应用基于第二缓存队列播放短视频时,电子设备可以显示图4C所示的用户界面430,用户界面430用于播放短视频1,用户界面430中的信号标识431用于表征电子设备当前接入了信号格数为2格的2G网络,即处于弱网络覆盖的场景。当网络恢复正常时,短视频应用检测到不卡顿,则可以切换至基于第一缓存队列播放短视频,电子设备可以显示图4E所示的用户界面450,用户界面450用于播放短视频3,用户界面450中的信号标识451用于表征电子设备100当前接入了信号格数为5格(即满格)的5G网络,即处于网络性能较好的场景。
在一些实施例中,短视频应用基于第二缓存队列播放短视频时,若第二缓存队列中的短视频均播放完毕,并且短视频应用检测到仍然卡顿,短视频应用可以显示提示信息,以提示用户离线短视频播放完毕。例如,电子设备可以显示图4D所示的用户界面440,用户界面440中的信号标识441用于表征电子设备当前接入了信号格数为2格的2G网络,即处于弱网络覆盖的场景,此时短视频应用检测到卡顿。用户界面440还包括提示信息443(“离线短视频到底了”),用于提示用户当前没有其他可播放的离线短视频。
在一些实施例中,第二缓存队列可以包括短期队列和长期队列,短期队列和长期队列均包括至少一个缓存队列,可选地,短期队列包括的缓存队列的数量小于长期队列包括的缓存队列的数量。当检测到短期卡顿时,短视频应用基于短期队列播放短视频;当检测到长期卡顿时,短视频应用基于长期队列播放短视频,其中,短期卡顿是卡顿时长小于或等于第一时长(例如30秒)的卡顿情况,长期卡顿是卡顿时长大于或等于第二时长(例如30秒)的卡顿情况,第一时长小于或等于第二时长。例如,如图8所示,短视频应用侧的缓存队列中,低优先级队列为第二缓存队列,短期队列包括缓存队列5-缓存队列7,长期队列包括缓存队列8-缓存队列12。
在一些实施例中,短期队列的优先级高于长期队列的优先级,可选地,短视频应用会先缓存视频数据到短期队列,再缓存视频数据到长期队列。例如,如图8所示,短视频应用侧的缓存队列中,短期队列包括缓存队列5-缓存队列7,长期队列包括缓存队列8-缓存队列12,短视频应用会依次下载视频数据到缓存队列5至缓存队列12,如,将某个短视频的数据下载到缓存队列5后,再将另一个短视频的数据下载到缓存队列6,以此类推。
在一些实施例中,短视频应用基于短期队列播放短视频时显示的用户界面,和短视频应用播放在线短视频的用户界面相同,均不包括指示播放的短视频为离线视频的信息,例如,电子设备显示图4E所示的用户界面450。而短视频应用基于长期队列播放短视频时显示的用户界面,包括指示播放的短视频为离线视频的信息,例如,电子设备显示图4C所示的用户界面430,用户界面430包括用于指示当前播放的短视频1为离线视频的标识信息432。这样能让用户无法感知到短期卡顿,并且让用户感知到长期卡顿,提升用户体验。
在一些实施例中,短视频应用接收到包括S102中场景检测模块确定的用户所处的出行位置的第一信息后,可以根据该出行位置确定是否将增加的第二缓存队列划分为短期队列和长期队列。可选地,当该出行位置为第一预设位置时,将增加的第二缓存队列划分为短期队列和长期队列,当该出行位置为第二预设位置时,不将增加的第二缓存队列划分为短期队列和长期队列。例如,当该出行位置为火车站/高铁站、汽车站、地铁站、公交站、高速路口、码头、城镇/城乡交界处等后续可能出现短期卡顿的位置时,短视频应用可以维护如图8所示的短期队列和长期队列。后续检测到短期卡顿时,短视频应用可以切换至基于短期队列播放短视频,后续检测到长期卡顿时,短视频应用可以切换至基于长期队列播放短视频。当该出行位置为机场等后续可能只出现长期卡顿的位置时,可以维护如图8所示的低优先级队列(即第二缓存队列),且不区分短期队列和长期队列,后续检测到卡顿时,短视频应用可以切换至低优先级队列播放短视频。
不限于此,在另一些实施例中,电子设备接收到用于开启飞行模式的用户操作后,短视频应用可以直接基于第二缓存队列播放短视频,而不区分短期队列和长期队列,本申请对是否区分短期队列和长期队列的方式不作限定。
在一种可能的实现方式中,该方法还包括:
S107:场景检测模块确定已抵达出行场景下的目的地。
在一些实施例中,场景检测模块可以基于乘坐序列检测用户是否抵达出行的目的地。其中,该乘坐序列可以指示用户乘坐的交通工具的线路序列。乘坐序列可以指示从起点位置出发,途中经过多个位置,最后到达终点位置的行程线路。
在一些实施例中,用于检测用户是否抵达出行的目的地的乘坐序列可以是根据S102中确定的用户所处的出行位置确定的。乘坐序列指示的起点位置、途中经过的多个位置和终点位置中的一个位置可以对应上述S102中确定的用户所处的出行位置。不限于此,还可以结合其他信息(例如行程信息、电子设备开启飞行模式的时间、用户到达出行位置的时间等)来确定该乘坐序列。例如,S102中确定的用户所处的出行位置为武汉市的天河机场,电子设备开启飞行模式的时间为3月29日早上六点,用于检测用户是否抵达出行的目的地的乘坐序列可以是起点位置为武汉市的天河机场,出行时间为早上六点之后最近的一个飞机线路序列。
在一些实施例中,当场景检测模块检测到用户抵达出行的目的地时,可以执行S108。
S108:场景检测模块向短视频应用发送指示已抵达目的地的第二信息。
S109:短视频应用基于第二信息,取消维护第二缓存队列。
在一些实施例中,短视频应用接收到第二信息后,可以取消维护第二缓存队列,也可称为是去使能第二缓存队列,也可称为是释放第二缓存队列。例如,短视频应用接收到第一信息后,可以维护图8所示的缓存队列,图8所示的缓存队列包括高优先级队列(即第一缓存队列,包括缓存队列1-缓存队列4),以及低优先级队列(即第二缓存队列,包括缓存队列5-缓存队列12)。短视频应用接收到第二信息后,可以维护图9所示的缓存队列,图9所示的缓存队列包括缓存队列1-缓存队列4(即图8所示的高优先级队列)。
在一些实施例中,短视频应用取消维护第二缓存队列后,可以基于第一缓存队列播放短视频。
在一些实施例中,S102-S106的实现示例可参见图8。如图8所示,场景检测模块可以进行信号指纹识别,并识别出当前处于预设的出行位置。场景检测模块还可以进行惯常信号指纹识别,并识别出该出行位置不为惯常位置。(1)场景检测模块可以基于上述识别出的当前处于预设的出行位置,以及该出行位置不为惯常位置,通过决策树进行场景判断。场景检测模块可以判断出当前处于出行场景,并通过场景接口向短视频应用指示当前处于出行场景。(2)短视频应用可以基于场景检测模块的指示,进行缓存控制:使能低优先级队列。此时,短视频应用维护的缓存队列可以包括高优先级队列(缓存队列1-缓存队列4)和低优先级队列,短视频应用维护高优先级队列的方式可参见S101的说明,短视频应用维护低优先级队列的方式可参见S104的说明,其中,低优先级队列包括短期队列(缓存队列5-缓存队列7)和长期队列(缓存队列8-缓存队列12)。(3)短视频应用可以进行卡顿检测。(4)短视频应用可以基于卡顿检测的结果进行播放控制:当检测到不卡顿时,基于高优先级队列播放短视频;当检测到短期卡顿时,基于低优先级队列中的短期队列播放短视频;当检测到长期卡顿时,基于低优先级队列中的长期队列播放短视频。
在一些实施例中,S107-S109的实现示例可参见图9。如图9所示,场景检测模块可以基于乘坐序列进行抵达检测,并识别出用户已抵达出行的目的地。(5)场景检测模块可以基于上述识别出的用户已抵达出行的目的地,通过决策树进行场景判断。场景检测模块可以判断出当前用户已抵达出行的目的地,并通过场景接口向短视频应用指示当前已抵达目的地。(6)短视频应用可以基于场景检测模块的指示,进行缓存控制:去使能低优先级队列。此时,短视频应用维护缓存队列1-缓存队列4,即图8所示的高优先级队列,短视频应用维护缓存队列1-缓存队列4的方式可参见S101的说明。(7)短视频应用可以基于缓存队列1-缓存队列4播放短视频。
图8-图9仅用于示例短视频应用的优化流程,不应构成限定,例如,高优先级队列、低优先级队列、短期队列或长期队列中包括的缓存队列的数目可以更多也可以更少。
在图7-图9所示的实施例中,短视频应用在接收到用户要出行的指示后,可以在不影响维护在线视频对应的第一缓存队列的同时,增加维护离线视频对应的第二缓存队列,可以理解为是使用额外的流量下载离线视频,这样不会影响在线视频的播放和下载。短视频应用可以在检测到卡顿时基于第二缓存队列播放短视频,抵达出行的目的地或者网络恢复正常时,基于第一缓存队列播放短视频,这样用户在出行场景(可能包括弱网络覆盖或无网络覆盖的场景)下也可以正常使用短视频应用,提升用户体验感。
图7以短视频应用为例说明应用优化方法的流程,视频应用对应的应用优化方法的流程和图7所示的流程类似。接下来以视频应用为例进行说明,应用优化方法可以包括但不限于如下步骤:
1.视频应用维护在线视频对应的第三缓存队列。
本申请中,视频应用可以以队列的结构缓存(也可称为下载)视频数据,其中,缓存的视频数据存储在缓存队列中,也可称为是视频应用维护缓存队列,缓存队列中存储的视频数据用于视频应用播放视频。在一些实施例中,视频应用维护的任意一个缓存队列用于存储一个视频的视频数据。
在一些实施例中,第三缓存队列为一个缓存队列,视频应用下载视频数据到第三缓存队列中的同时,可以播放第三缓存队列中已有的视频数据,可以理解为是“边下边播”,当前播放的视频可以理解为是在线视频。在一些实施例中,视频应用维护第三缓存队列,可以包括:当第三缓存队列中已下载的视频数据的播放时长小于或等于第一预设时长(例如30秒)时,下载播放时长为第二预设时长(例如5分钟)的视频数据到第三缓存队列中。
在一些实施例中,视频应用接收到播放下一个视频的指令时,可以将第三缓存队列中的视频数据清空,并将该下一个视频的视频数据下载到第三缓存队列中,基于第三缓存队列播放该视频。
2.场景检测模块确定处于出行场景。
该步骤的说明和图7的S102的说明类似,具体可参见图7的S102的说明。
3.场景检测模块向视频应用发送指示处于出行场景/用户要出行的第一信息。
该步骤的说明和图7的S103的说明类似,具体可参见图7的S103的说明。
4.视频应用基于第一信息,维护离线视频对应的第四缓存队列。
该步骤的说明和图7的S104的说明类似,具体可参见图7的S104的说明,该说明中,第一缓存队列需替换为第三缓存队列,第二缓存队列需替换为第四缓存队列。
在一些实施例中,第四缓存队列缓存的任意一个视频可以和第三缓存队列缓存的视频不同。在一些实施例中,第四缓存队列缓存的视频为视频应用推荐的视频,例如,视频应用可以根据播放历史、个人信息等用户信息,时事热点等为用户推荐视频。5.视频应用可以进行卡顿检测。
该步骤的说明和图7的S105的说明类似,具体可参见图7的S105的说明。
6.当检测到不卡顿时,视频应用基于第三缓存队列播放视频;当检测到卡顿时,视频应用基于第四缓存队列播放视频。
在一些实施例中,当检测到不卡顿时,视频应用播放第三缓存队列中的视频数据,可以理解为是播放在线的视频。例如,视频应用基于第三缓存队列播放视频时,电子设备可以显示图3D所示的用户界面340,用户界面340中的信号标识341用于表征电子设备当前接入了信号格数为5格(即满格)的5G网络,即处于网络性能较好的场景,此时视频应用检测到不卡顿。用户界面340用于播放在线的“视频a”的第9集。
在另一些实施例中,当检测到卡顿时,视频应用播放第四缓存队列中的视频数据,可以理解为是播放离线的视频。例如,视频应用基于第四缓存队列播放视频时,电子设备可以显示图3B所示的用户界面320,用户界面320中的信号标识321用于表征电子设备100当前无法接入网络,即处于无网络覆盖的场景,此时视频应用检测到卡顿。用户界面320还包括用于指示当前播放的视频(“视频a”的第8集)为离线视频的视频标识323A。不限于上述示例的情况,在另一些示例中,视频应用可以在检测到播放在线视频卡顿时,显示提示信息,该提示信息用于提示用户观看离线视频,可选地,视频应用可以在接收到用于观看离线视频的用户操作时,播放第四缓存队列中的视频数据。
在一些实施例中,视频应用基于第四缓存队列播放视频时,若第四缓存队列中的视频均播放完毕,并且视频应用检测到仍然卡顿,视频应用可以显示提示信息,以提示用户离线视频播放完毕。例如,电子设备可以显示图3C所示的用户界面330,用户界面330中的信号标识和用户界面320中的信号标识321一致,用于表征电子设备100当前无法接入网络,即处于无网络覆盖的场景,此时视频应用检测到卡顿。用户界面330还包括提示信息322(“离线视频播放完毕,等待网络连接”),用于提示用户当前没有其他可播放的离线视频。
在一种可能的实现方式中,该方法还包括:
7.场景检测模块确定已抵达出行场景下的目的地。
该步骤的说明和图7的S107的说明类似,具体可参见图7的S107的说明。
8.场景检测模块向视频应用发送指示已抵达目的地的第二信息。
该步骤的说明和图7的S108的说明类似,具体可参见图7的S108的说明。
9.视频应用基于第二信息,取消维护第四缓存队列。
该步骤的说明和图7的S109的说明类似,具体可参见图7的S109的说明,该说明中,第一缓存队列需替换为第三缓存队列,第二缓存队列需替换为第四缓存队列。
请参见图10,图10是本申请实施例提供的又一种应用优化方法的流程示意图。图10以电子设备100包括场景检测模块和负一屏应用为例进行说明,场景检测模块和负一屏应用的说明可参见图2中场景检测模块和负一屏应用的说明。该方法可以包括但不限于如下步骤:
S201:负一屏应用获取用户的行程信息。
在一些实施例中,负一屏应用可以识别第一应用中的数据,以获取用户的未出行的行程信息。例如,负一屏应用可以识别短信息应用中接收到的短信息。例如,负一屏应用可以识别日历应用、日程应用或备忘录应用中记录的信息。例如,负一屏应用可以识别旅游应用或买票应用中的订单信息。
在一些实施例中,负一屏应用识别第一应用中的数据之前,可以被授予获取第一应用中的数据的权限。例如,在电子设备的操作系统开始界面(out-of-box experience,OOBE)或者电子设备的设置界面,电子设备根据接收到的用户操作,授予负一屏应用获取第一应用中的数据的权限。
在一些实施例中,用户的行程信息可以指示以下至少一项内容:此次行程中用户乘坐的交通工具、起始点(对应出行位置)、目的地、从起始点出发的时间(简称为出行时间)、到达目的地的时间(简称为到达时间)等。其中,起始点对应出行位置,包括:起始点即为出行位置;或者,出行位置在起始点所在的范围内,例如,出行位置为武汉市天河机场,起始点为武汉市。
例如,负一屏应用可以展示指示用户的行程信息的行程卡片,即图5A所示的用户界面510中的行程卡片512,行程卡片512指示的行程信息可以包括:用户乘坐的交通工具(编号为D1111的动车)、起始点(武汉站)、目的地(深圳站)、出行时间(3月16日(星期三)6点44分)、到达时间(3月16日(星期三)9点30分)。
S202:若当前时间和第一行程信息中的出行时间的差值小于或等于预设时长时,显示第一卡片(提示用户缓存应用数据)。
在一些实施例中,第一行程信息为负一屏应用获取到的未出行的行程信息中任意一条行程信息,例如,第一行程信息为负一屏应用获取到的未出行的行程信息中距离当前时间最近的一条行程信息。
在一些实施例中,第一卡片用于提示用户缓存至少一个应用的应用数据。
例如,假设预设时长为24小时,第一行程信息为图5A所示的用户界面510中的行程卡片512指示的行程信息,第一行程信息的出行时间为3月16日(星期三)6点44分。行程卡片512包括指示信息512A,指示信息512A指示当前时间距离行程卡片512指示的行程信息中的出行时间的时长:“24小时”。此时,负一屏应用可以显示第一卡片,即图5A所示的用户界面510中的离线推荐卡片513,离线推荐卡片513包括提示信息:“离线服务推荐”、“给您推荐精彩视频”和“一键缓存即可在行程中观看”,用于提示用户缓存应用数据,以在行程卡片512指示的行程中使用缓存的应用数据。
S203:负一屏应用缓存至少一个应用的应用数据。
在一些实施例中,电子设备接收到用于缓存应用数据的用户操作时,可以向负一屏应用发送第一指令,可选地,该用户操作为针对第一卡片的用户操作。负一屏应用接收到第一指令后,可以缓存至少一个应用的应用数据。
在一些实施例中,上述至少一个应用的应用数据可以是电子设备按照预设规则自行确定的。例如,第一卡片为图5A所示的用户界面510中的离线推荐卡片513,离线推荐卡片513包括缓存控件513A。电子设备可以接收作用于缓存控件513A的用户操作(例如点击操作),响应于该用户操作,按照预设规则确定至少一个应用的应用数据,并缓存这至少一个应用的应用数据。其中,这至少一个应用为用户最近使用的N个应用,N为正整数,这至少一个应用的应用数据为用户最近查看过的应用数据和/或应用为用户推荐的时事热点等应用数据。负一屏应用缓存应用数据时,电子设备可以显示图5B所示的用户界面520,用户界面520中的离线推荐卡片522用于显示当前正在缓存的应用数据:视频应用中的“视频a”的第7集。
在另一些实施例中,上述至少一个应用的应用数据可以是电子设备基于用户操作确定的。例如,第一卡片为图5A所示的用户界面510中的离线推荐卡片513,离线推荐卡片513包括列表控件513B,电子设备可以响应于作用于列表控件513B的用户操作(例如点击操作),显示推荐缓存的应用数据的详细信息,此时,电子设备可以显示图5D所示的用户界面540,用户界面540包括用于触发下载视频应用的视频的控件(控件543A、控件543B、控件543C)和用于触发下载短视频应用的短视频的控件(控件544A、控件544B、控件544C)。电子设备可以接收作用于这些控件中的任意一个控件的用户操作,响应于该用户操作,缓存该控件对应的视频数据,如,控件543B对应的视频数据为视频应用中的“视频a”的第7集,负一屏应用缓存控件543B对应的视频数据时,电子设备可以显示图5B所示的用户界面520。
S204:场景检测模块确定处于出行场景。
S204的说明和图7的S102的说明类似,具体可参见图7的S102的说明。
在一些实施例中,当场景检测模块检测到当前处于出行场景/用户要出行时,可以执行S205。
S205:场景检测模块向负一屏应用发送指示处于出行场景/用户要出行的第三信息。
在一些实施例中,第三信息还包括S204中场景检测模块确定的用户所处的出行位置。
S206:负一屏应用基于第三信息,显示第二卡片(指示已缓存的应用数据)。
在一些实施例中,负一屏应用接收到第三信息后,可以显示第二卡片,第二卡片可以指示已缓存的应用数据,可选地,第二卡片可以指示S203中缓存的至少一个应用的应用数据。
在一些实施例中,负一屏应用可以结合未出行的用户的行程信息和第三信息,确定是否显示第二卡片,例如,负一屏应用接收到第三信息后,可以判断最近一条行程信息中的出行时间和当前时间的差值是否小于或等于预设差值(如2小时),若判断结果为是时,显示第二卡片。
例如,第二卡片为图5C所示的用户界面530中的离线推荐卡片533,离线推荐卡片533用于显示已经缓存好的应用数据:应用数据533B指示的应用数据(即视频应用中的视频数据:“视频a”的第7集和第8集),以及应用数据533C指示的应用数据(即短视频应用中的短视频数据,该短视频数据的合计大小为426MB)。
在一些实施例中,S201-S206的实现示例可参见图11。如图11所示,(1)负一屏应用获取到未出行的用户的行程信息后,可以根据行程信息显示用于推荐下载离线视频的卡片(即上述第一卡片),例如,用户买了动车票(图5A所示的用户界面510中的行程卡片512可以是根据该动车票的信息生成的)之后,还差24小时就到达该动车票中的出行时间时,负一屏应用可以显示图5A所示的用户界面510,用户界面510包括离线推荐卡片513,以提示用户下载离线视频。(2)负一屏应用接收到用于下载离线视频的用户操作时,可以下载离线视频,例如,负一屏应用显示图5B所示的用户界面520。场景检测模块可以进行信号指纹识别,并识别出当前处于预设的出行位置。场景检测模块还可以进行惯常信号指纹识别,并识别出该出行位置不为惯常位置。(3)场景检测模块可以基于上述识别出的当前处于预设的出行位置,以及该出行位置不为惯常位置,通过决策树进行场景判断。场景检测模块可以判断出当前处于出行场景,并通过场景接口向短视频应用指示当前处于出行场景。(4)负一屏应用可以基于场景检测模块的指示,显示指示已下载的离线视频的卡片(即上述第二卡片),例如,用户到达武汉站之后,负一屏应用显示图5C所示的用户界面530,用户界面530包括离线推荐卡片533,以展示已下载的离线视频。
图11仅用于示例负一屏应用的优化流程,不应构成限定,例如,也可以不是离线视频,而是其他应用的离线数据。
在图10-图11所示的实施例中,负一屏应用可以在用户出发之前的较早时间,通过第一卡片提示用户下载应用数据,并且,负一屏应用在接收到用户要出行的指示后,通过第二卡片展示已经下载好的应用数据,精准地提醒了用户,方便用户在出行场景下使用这些应用数据,提升了用户使用这些应用数据的概率,产品功能更加符合用户需求。
请参见图12,图12示例性示出一种通信系统的架构示意图。该通信系统可以用于传输即时通讯应用中的聊天消息(简称为即时通讯消息)。
如图12所示,通信系统可以包括电子设备100、电子设备200和服务器300。其中,电子设备100可以为图1所示的电子设备100,也可以为图2所示的电子设备100,具体可参见图1-图2的说明。电子设备200和电子设备100类似,具体可参见电子设备100的说明。图12以电子设备100和电子设备200均为智能手机为例进行说明。服务器300可以包括至少一个服务器,例如,服务器300是多个服务器组成的服务器集群,这至少一个服务器中的任意一个服务器可以是硬件服务器或云服务器。电子设备100和电子设备200上安装有即时通讯应用,服务器300例如是为即时通讯应用提供服务的应用服务器。
电子设备100可以通过互联网和服务器300进行通信,电子设备200可以通过互联网和服务器300进行通信,电子设备100可以通过服务器300和电子设备200进行通信。其中,互联网可以包括有线链路、无线链路等通信链路,以及基站、路由器、接入热点(accesspoint,AP)等网络设备,有线链路例如包括高清多媒体接口(high definition multimediainterface,HDMI)、通用串行总线(universal serial bus,USB)、同轴电缆、光纤等,无线方式例如包括蓝牙、Wi-Fi、sidelink、NFC、UWB、红外线等。
图12以用户1通过电子设备200向使用电子设备100的用户2发送即时通讯消息1为例说明通信过程。如图12所示,(1)电子设备200可以先向服务器300发送原始的消息1。服务器300接收到原始的消息1后,可以保存原始的消息1(例如保存在服务器300的内容管理中),并且,可以压缩原始的消息1以得到压缩后的消息1。(2)服务器300找到接收消息1的目标(即电子设备100)时,可以向电子设备100发送压缩后的消息1。在一些实施例中,服务器300发送了压缩后的消息1后,可以删除存储的压缩后的消息1。图12以压缩为例说明,在具体实现中,也可以是识别出消息中的关键信息(例如,标题、关键词、类型、大小、缩略图、图标等),将该关键信息作为“压缩后的消息”,本申请对此不作限定。电子设备100可以显示压缩后的消息1,例如,显示消息1中的关键信息。例如,电子设备100可以显示图6A所示的用户界面610,用户界面610包括多条压缩后的聊天消息,其中,用户界面610中的消息613为缩略图,指示视频形式的原始消息;用户界面610中的消息614为缩略图,指示图片形式的原始消息;用户界面610中的消息615包括文档图标、文档名称和文档大小,指示文档形式的原始消息。(3)然后,电子设备100可以接收用于获取消息1的原始内容的用户操作,响应于该用户操作,向服务器300获取消息1的原始内容。(4)电子设备100获取到消息1的原始内容后,可以显示消息1的原始内容。例如,电子设备100接收到作用于图6A所示的用户界面610中的消息614的用户操作时,可以显示消息614的原始内容,即图6C所示的用户界面630中的图片632。
在一些实施例中,服务器300发送了压缩后的消息1后,可以删除存储的压缩后的消息1。在一些实施例中,服务器300可以有超时释放的机制,即存储原始的消息1之后,可以在经过预设时长(例如24小时)后将原始的消息1删除。
可以理解地,用户处于弱网络覆盖或者无网络覆盖的场景下时,若想获取即时通讯消息的原始内容,需要在网络性能较好的场景下,提前执行用于查看消息的原始内容的用户操作,以将消息的原始内容下载到本地,或者等待网络恢复正常,向服务器获取消息的原始内容,可以理解为是即时通讯消息主要针对非实时的用户要求,用户体验不佳。
请参见图13,图13是本申请实施例提供的又一种应用优化方法的流程示意图。图13以电子设备100包括场景检测模块和即时通讯应用为例进行说明,场景检测模块和即时通讯应用的说明可参见图2中场景检测模块和即时通讯应用的说明。该方法可以包括但不限于如下步骤:
S301:场景检测模块确定处于出行场景。
S301的说明和图7的S102的说明类似,具体可参见图7的S102的说明。
在一些实施例中,当场景检测模块检测到当前处于出行场景/用户要出行时,可以执行S302。
S302:场景检测模块向即时通讯应用发送指示处于出行场景/用户要出行的第四信息。
在一些实施例中,第四信息还包括S301中场景检测模块确定的用户所处的出行位置。
S303:即时通讯应用按照预设规则确定N条消息(N为正整数)。
在一些实施例中,即时通讯应用接收到第四信息后,可以按照预设规则确定待下载的N条消息。其中,预设规则中的参数例如但不限于包括:第四信息中的出行位置,预测的出行场景下处于弱网络覆盖或者无网络覆盖的场景的时长、聊天会话的聊天时间、聊天会话的聊天频率、即时通讯消息的类型(例如、图片、视频、文档等类型)、即时通讯消息的大小。
在一些实施例中,即时通讯应用可以基于预设规则设置缓存门限,N条消息的大小之和小于或等于该缓存门限。可选地,该缓存门限可以是根据第四信息中的出行位置确定的。可选地,该缓存门限可以是根据预测的出行场景下处于弱网络覆盖或者无网络覆盖的场景的时长确定的。例如,第四信息中的出行位置为机场,则该缓存门限可以为500MB,第四信息包括的出行位置为火车站/动车站,则该缓存门限可以为200MB。
在一些实施例中,即时通讯应用可以基于预设规则设置下载顺序,后续以该下载顺序下载即时通讯消息,这N条消息为下载的前N条消息,具体示例如下所示:
可选地,该下载顺序可以是根据即时通讯消息的类型确定的,例如,优先下载图片类型的消息,其次下载文档类型的消息,再者下载视频类型的消息,最后下载其他类型的消息。
可选地,该下载顺序可以是根据即时通讯消息的大小确定的,例如,按照从小到大的顺序下载即时通讯消息。
可选地,该下载顺序可以是根据聊天会话的聊天时间确定的,例如,按照聊天时间从晚到早下载聊天会话中的即时通讯消息。
可选地,该下载顺序可以是根据聊天会话的聊天频率确定的,例如,按照聊天频率从多到少下载聊天会话中的即时通讯消息。
示例性地,上述N条消息可以为聊天时间最晚和聊天频率最多的X个聊天会话的即时通讯消息,并且对于其中一个聊天会话而言,即时通讯应用缓存的是最近Y个即时通讯消息中大小较小的前Z个即时通讯消息,其中,X、Y、Z均为正整数,X、Y、Z可以是根据缓存门限确定的,缓存的N条消息的大小之和小于或等于该缓存门限。不限于此,在另一些示例中,上述N条消息可以为聊天时间最晚和聊天频率最多的X个聊天会话的即时通讯消息,并且对于其中一个聊天会话而言,即时通讯应用缓存的是最近Y个即时通讯消息,本申请对如何确定待下载的N条消息的具体方式不作限定。
S304:即时通讯应用从服务器下载上述N条消息的原始内容,并存储到电子设备的原始消息缓存区。
在一些实施例中,电子设备确定当前处于出行场景/用户要出行时,可以建立原始消息缓存区,以用于存储上述N条消息的原始内容。
在一些实施例中,S304也可以理解为是,将服务器中的N条消息的原始内容,拉流到电子设备的本地缓存中,其中,拉流是将服务器中存储的数据下载到电子设备本地的存储器中。
在一些实施例中,即时通讯应用接收到第四信息后,可以执行S303-S304,并且显示提示信息。例如,电子设备可以显示图6B所示的用户界面620,用户界面620中的信号标识621用于表征电子设备100当前接入了信号格数为5格(即满格)的5G网络,并且接入了Wi-Fi网络,即处于网络性能较好的场景。用户界面620包括提示信息622(“已启用智能离线模式”),表征智能离线模式已开启。其中,智能离线模式开启的情况下,即时通讯应用才会执行S303-S304。
在一些实施例中,即时通讯应用从服务器下载上述N条消息的原始内容之后,服务器可以减小这N条原始的消息对应的超时周期,从而减小服务器的存储压力。例如,即时通讯应用从服务器下载上述N条消息的原始内容之前,服务器会在存储时间超过24小时的时候删除这N条消息的原始内容,即时通讯应用从服务器下载上述N条消息的原始内容之后,服务器会在存储时间超过12小时的时候删除这N条消息的原始内容。
S305:电子设备接收到用于获取第一消息的原始内容的用户操作时,即时通讯应用从原始消息缓存区获取第一消息的原始内容。
在一些实施例中,第一消息为上述存储在电子设备的原始消息缓存区的N条消息中的任意一条消息。
在一些实施例中,S305可以理解为是调整即时通讯消息对应的下载路径,电子设备接收到用于获取第一消息的原始内容的用户操作时,即时通讯应用从调整后的下载路径(即原始消息缓存区)中获取第一消息的原始内容,其中,调整前的下载路径为服务器。
S306:即时通讯应用显示第一消息的原始内容。
例如,第一消息为图6A所示的用户界面610中的消息614。电子设备100可以接收作用于消息614的用户操作(例如点击操作),响应于该用户操作,显示图6C所示的用户界面630。用户界面630包括信号标识631和图片632,信号标识631用于表征电子设备当前无法接入网络,即处于无网络覆盖的场景,图片632为消息614的原始内容,即图片形式的消息614的原图。
在一些实施例中,对于原始消息缓存区中存储的原始的消息,当存储时间大于或等于预设时长(例如24小时)时,电子设备可以将该消息删除。
在一些实施例中,对于原始消息缓存区中存储的任意一条原始的消息,若电子设备显示了该消息的原始内容,可以将该消息存储到电子设备的存储器中,并删除原始消息缓存区中存储的该消息;若电子设备未接收到用于获取该消息的原始内容的用户操作,可以在存储时间大于或等于预设时长(例如24小时)时,删除原始消息缓存区中存储的该消息。
在一种可能的实现方式中,该方法还包括:
S307:场景检测模块确定已抵达出行场景下的目的地。
S307和图7的S107类似,具体可参见图7的S107的说明,该说明中,S102替换为S301。
在一些实施例中,当场景检测模块检测到用户抵达出行的目的地时,可以执行S308。
S308:场景检测模块向即时通讯应用发送指示已抵达目的地的第五信息。
S309:电子设备接收到用于获取第二消息的原始内容的用户操作时,即时通讯应用从服务器下载第二消息的原始内容。
在一些实施例中,S307可以理解为是,当确定已抵达目的地时,将即时通讯消息对应的下载路径恢复为调整前的下载路径(即服务器)。电子设备接收到用于获取第二消息的原始内容的用户操作时,即时通讯应用从调整前的下载路径中获取第二消息的原始内容。在一些实施例中,第二消息为S304所述的N条消息以外的消息,即原始消息缓存区中未存储第二消息的原始内容。
S310:即时通讯应用显示第二消息的原始内容。
不限于上述示例的情况,在另一些实施例中,S307-S308也可以替换为:即时通讯应用检测到网络恢复正常。
不限于上述示例的情况,在另一些实施例中,若第二消息为上述存储在电子设备的原始消息缓存区的N条消息中的一条消息,则在S309中,电子设备可以直接从原始消息缓存区获取第二消息的原始内容。
在一些实施例中,S301-S310的实现示例可参见图14。如图14所示,电子设备100的场景检测模块可以进行信号指纹识别,并识别出当前处于预设的出行位置。场景检测模块还可以进行惯常信号指纹识别,并识别出该出行位置不为惯常位置。(1)场景检测模块可以基于上述识别出的当前处于预设的出行位置,以及该出行位置不为惯常位置,通过决策树进行场景判断。场景检测模块可以判断出当前处于出行场景,并通过场景接口向即时通讯应用指示当前处于出行场景。即时通讯应用可以基于场景检测模块的指示,将下载策略从在线下载策略调整为离线下载策略,其中,在线下载策略的说明可参见图12示例的通信过程的说明,不再赘述。即时通讯应用基于离线下载策略工作时,(2)可以从服务器300下载N条消息的原始内容到原始消息缓存区,(3)当电子设备接收到用于获取消息3的原始内容的用户操作时,可以从原始消息缓存区获取消息3的原始内容,(4)并显示消息3的原始内容。
在图13-图14所示的实施例中,即时通讯应用在接收到用户要出行的指示后,可以下载N条消息的原始内容到原始消息缓存区,当电子设备接收到用于获取这N条消息中任意一条消息的原始内容的用户操作时,不是从服务器下载该消息的原始内容,而是从原始消息缓存区中获取该消息的原始内容,以用于显示,这样用户在出行场景(可能包括弱网络覆盖或无网络覆盖的场景)下也可以正常查看即时通讯消息,提升用户体验感。
在一些实施例中,电子设备确定处于出行场景时,可以提升充电的速度,例如采用更为激进的充电策略来获取更多的电量,以使用户在出行场景下可以正常使用电子设备。
请参见图15,图15示例性示出一种电子设备100的软件结构示意图。
如图15所示,电子设备100包括场景检测模块151、缓存控制模块152和视频播放模块153,其中任意两个模块可以连接和通信,其中:
场景检测模块151,用于判断用户是否处于预设的出行场景,具体示例可参见图7的S102的说明。场景检测模块151确定用户处于出行场景时,可以通知缓存控制模块152,可选地以及视频播放模块153。在一些实施例中,场景检测模块151还用于判断用户是否抵达出行场景下的目的地,具体示例可参见图7的S107的说明。场景检测模块151确定用户已抵达出行场景下的目的地时,可以通知缓存控制模块152,可选地以及视频播放模块153。
缓存控制模块152,用于根据场景检测模块151发送的通知,基于至少一个缓存队列缓存视频数据,可称为是维护这至少一个缓存队列。视频播放模块153,用于基于缓存控制模块152维护的缓存队列播放视频。
在一些实施例中,缓存控制模块152可以在用户不处于出行场景时,维护在线视频对应的第一缓存队列,同时,视频播放模块153可以基于第一缓存队列播放视频,可以理解为是“边下边播”,例如,上图8所示的高优先级队列为第一缓存队列,包括缓存队列1-缓存队列4,缓存控制模块152基于第一缓存队列中的缓存队列1缓存第一视频的数据时,视频播放模块153基于缓存队列1播放第一视频。具体示例可参见图7的S101的说明。
在一些实施例中,缓存控制模块152接收到场景检测模块151发送的用户处于出行场景的通知后,增加维护离线视频对应的第二缓存队列,即在用户处于出行场景时,基于第一缓存队列缓存在线视频的视频数据,以及基于第二缓存队列缓存离线视频的视频数据,具体示例可参见图7的S104的说明。
在一些实施例中,视频播放模块153可以进行卡顿检测,具体示例可参见图7的S105的说明。在一些实施例中,视频播放模块153可以在基于第一缓存队列播放视频卡顿时,播放第二缓存队列中已缓存的视频,例如,上图8所示的低优先级队列为第二缓存队列,包括缓存队列5-缓存队列12,缓存队列5中已缓存了第二视频的数据,视频播放模块153基于缓存队列5播放第二视频。可选地,视频播放模块153可以在网络恢复或者用户已抵达出行场景下的目的地时,基于第一缓存队列播放视频。具体示例可参见图7的S106的说明。
在一些实施例中,缓存控制模块152在用户处于出行场景时维护的第二缓存队列可以包括短期队列和长期队列,可选地,短期队列的队列数量小于长期队列的队列数量,可选地,短期队列的缓存优先级高于长期队列的缓存优先级。视频播放模块153可以在基于第一缓存队列播放视频的卡顿时长小于或等于第一时长时,播放短期队列中已缓存的视频,在基于第一缓存队列播放视频的卡顿时长大于或等于第二时长时,播放长期队列中已缓存的视频,其中,第一时长和第二时长相同或不同。具体示例可参见图7的S106中短期队列和长期队列的说明。
在一些实施例中,缓存控制模块152接收到场景检测模块151发送的用户已抵达出行场景下的目的地的通知后,释放第二缓存队列,具体示例可参见图7的S109的说明。
在一些实施例中,电子设备100还包括显示模块。显示模块接收到场景检测模块151发送的用户已抵达出行场景下的目的地的通知后,可以显示第一内容,第一内容用于提示用户缓存离线视频,或者第一内容用于指示当前正在缓存离线视频,第一内容的示例可参见图7的S104中接收到第一信息后显示的提示信息的说明。
在一些实施例中,电子设备100还包括显示模块。显示模块可以在视频播放模块153播放第二缓存队列中已缓存的视频时,显示第二内容,第二内容用于指示当前播放的视频为离线视频,第二内容的示例可参见图7的S106中指示播放的短视频为离线视频的信息的说明。在一些实施例中,当第二缓存队列中已缓存的第三视频的存储时长大于或等于第三时长时,缓存控制模块152可以删除第二缓存队列中的第三视频,以将其他视频缓存到第二缓存队列中,可选地,缓存控制模块152可以将第三视频存储到电子设备100的其他缓存区中。
示例性地,图15中的缓存控制模块152和视频播放模块153为短视频应用或视频应用包括的模块。
请参见图16,图16示例性示出又一种电子设备100的软件结构示意图。
如图16所示,电子设备100包括行程识别模块161、显示模块162、缓存模块163和场景检测模块164,其中任意两个模块可以连接和通信,其中:
行程识别模块161,用于获取用户的未出行的行程信息,具体示例可参见图10的S201的说明。行程识别模块161,还用于根据行程信息预测用户在预设时长内是否会处于预设的出行场景,在一些实施例中,行程识别模块161在当前时间和第一行程信息中的出行时间的差值小于或等于预设时长时,预测用户在预设时长内会处于出行场景,可选地,第一行程信息为上述未出行的行程信息中出行时间最早的行程信息,具体示例可参见图10的S202的说明。行程识别模块161预测用户在预设时长内会处于出行场景时,可以通知显示模块162。
显示模块162,用于在接收到行程识别模块161发送的用户在预设时长内会处于出行场景的通知后,显示第三内容,第三内容用于提示用户缓存应用数据,第三内容的示例可参见图10的S202中的第一卡片的说明。
缓存模块163,用于缓存至少一个应用的应用数据,在一些实施例中,电子设备100接收到用于缓存应用数据的用户操作(例如针对第三内容的用户操作)时,缓存模块163可以缓存至少一个应用的应用数据。
场景检测模块164,用于判断用户是否处于预设的出行场景,具体示例可参见图7的S102的说明。场景检测模块164确定用户处于出行场景时,可以通知显示模块162。
显示模块162,还用于在接收到场景检测模块164发送的用户处于出行场景的通知后,显示第四内容,第四内容用于指示缓存模块163已缓存的至少一个应用的应用数据,第四内容的示例可参见图10的S206中的第二卡片的说明。
示例性地,图16中的行程识别模块161、显示模块162和缓存模块163为负一屏应用包括的模块。
请参见图17,图17示例性示出又一种电子设备100的软件结构示意图。
如图17所示,电子设备100包括场景检测模块171、通信模块172、存储模块173和消息获取模块174,其中任意两个模块可以连接和通信,其中:
场景检测模块171,用于判断用户是否处于预设的出行场景,具体示例可参见图7的S102的说明。场景检测模块171确定用户处于出行场景时,可以通知通信模块172。
通信模块172,用于和网络设备进行通信。在一些实施例中,当有其他电子设备向电子设备100发送即时通讯消息时,通信模块172可以接收网络设备发送的压缩后的即时通讯消息(也可称为即时通讯消息的压缩内容,例如标题、关键词、类型、大小、缩略图、图标等),压缩后的即时通讯消息可以用于在电子设备100上显示。
在一些实施例中,通信模块172,还用于在接收到场景检测模块164发送的用户处于出行场景的通知后,向网络设备获取至少一条即时通讯消息的原始内容,并将获取到的至少一条即时通讯消息的原始内容存储到存储模块173中,其中,这至少一条即时通讯消息为通信模块172之前接收到对应的压缩内容的消息。可选地,这至少一条即时通讯消息为根据预设规则确定的,预设规则涉及的参数包括但不限于以下至少一项:出行场景下的出行位置、预测的出行场景下处于弱网络或者无网络覆盖的区域的时长、聊天会话的聊天时间、聊天会话的聊天频率、聊天消息的类型、聊天消息的大小。具体示例可参见图13的S303-S304的说明。
存储模块173,用于存储上述通信模块172获取到的至少一条即时通讯消息的原始内容。在一些实施例中,当存储模块173中的第二消息的原始内容的存储时长大于或等于预设时长时,删除存储模块173中的第二消息的原始内容,可选地,电子设备100可以将第二消息的原始内容存储到其他存储模块中。
消息获取模块174,用于在接收到针对第一消息的用户操作时,从存储模块173中获取到第一消息的原始内容,其中,第一消息为存储模块173中存储有原始内容的任意一条即时通讯消息,第一消息的原始内容可以用于在电子设备100上显示,具体示例可参见图13的S305-S306的说明。
示例性地,图17中的通信模块172、存储模块173和消息获取模块174为即时通讯应用包括的模块。
本申请实施例中,电子设备可以进行场景识别,以判断是否处于出行场景。接收到处于出行场景的指示后,不同应用程序执行的优化策略不同,例如,短视频应用的优化策略可参见图7-图9、图15所示的实施例,负一屏应用的优化策略可参见图10-图11、图16所示的实施例,即时通讯应用的优化策略可参见图13-图14、图17所示的实施例。通过执行这些优化策略让用户可以在出行场景(可能包括弱网络覆盖或无网络覆盖的场景)下正常使用应用程序,提升用户体验感。
以上实施例以短视频应用、视频应用、负一屏应用和即时通讯应用为例进行说明,在具体实现中,也可以是其他应用程序,本申请对此不做限定。
本申请各实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DWD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD)等。以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (19)

1.一种应用优化方法,其特征在于,应用于电子设备,所述方法包括:
基于第一队列缓存第一视频的数据和播放所述第一视频,基于第二队列缓存视频数据;
当基于所述第一队列播放视频卡顿时,基于所述第二队列中已缓存的第二视频的数据播放所述第二视频。
2.如权利要求1所述的方法,其特征在于,所述基于第二队列缓存视频数据,包括:
当确定用户处于预设场景时,基于所述第二队列缓存视频数据。
3.如权利要求2所述的方法,其特征在于,所述预设场景为出行场景,所述确定用户处于预设场景,包括:
确定所述用户处于第一出行位置,所述第一出行位置为以下任意一项:机场、火车站、高铁站、汽车站、地铁站、公交站、高速路口或码头;
当所述第一出行位置不为所述用户的惯常活动位置时,确定所述用户处于所述出行场景。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
当确定所述用户处于所述预设场景时,显示第一信息,所述第一信息用于提示用户缓存离线视频,或者所述第一信息用于指示当前正在缓存离线视频,所述第二队列用于缓存离线视频。
5.如权利要求1-4任一项所述的方法,其特征在于,所述第二队列包括短期队列和长期队列,所述短期队列的队列数量小于所述长期队列的队列数量,所述短期队列的缓存优先级高于所述长期队列的缓存优先级;
所述基于所述第二队列中已缓存的第二视频的数据播放所述第二视频,包括:
当基于所述第一队列播放视频的卡顿时长小于或等于第一时长时,基于所述第二队列包括的所述短期队列中已缓存的所述第二视频的数据播放所述第二视频;
当基于所述第一队列播放视频的卡顿时长大于或等于第二时长时,基于所述第二队列包括的所述长期队列中已缓存的所述第二视频的数据播放所述第二视频,所述第一时长和所述第二时长相同或不同。
6.如权利要求1-4任一项所述方法,其特征在于,所述方法还包括:
所述基于所述第二队列中已缓存的第二视频的数据播放所述第二视频时,显示第二信息,所述第二信息用于指示所述第二视频为离线视频。
7.如权利要求2-4任一项所述的方法,其特征在于,所述预设场景为出行场景,所述方法还包括:
当确定所述用户已抵达所述出行场景下的目的地时,释放所述第二队列。
8.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
当所述第二队列中已缓存的第三视频的存储时长大于或等于第三时长时,删除所述第二队列中的所述第三视频。
9.一种应用优化方法,其特征在于,应用于电子设备,所述方法包括:
当预测用户在预设时长内会处于预设场景时,显示第一信息,所述第一信息用于提示用户缓存应用数据;
接收第一用户操作;
响应于所述第一用户操作,缓存至少一个应用的应用数据;
当确定所述用户处于所述预设场景时,显示第二信息,所述第二信息用于指示已缓存的所述至少一个应用的应用数据。
10.如权利要求9所述的方法,其特征在于,所述预设场景为出行场景,所述预测用户在预设时长内会处于预设场景,包括:
获取所述用户的第一行程信息;
当前时间和所述第一行程信息中的出行时间的差值小于或等于所述预设时长时,预测所述用户在所述预设时长内会处于所述出行场景。
11.如权利要求10所述的方法,其特征在于,所述第一行程信息为所述用户的行程信息中出行时间最早的行程信息。
12.如权利要求9-11任一项所述的方法,其特征在于,所述预设场景为出行场景,所述确定用户处于预设场景,包括:
确定所述用户处于第一出行位置,所述第一出行位置为以下任意一项:机场、火车站、高铁站、汽车站、地铁站、公交站、高速路口或码头;
当所述第一出行位置不为所述用户的惯常活动位置时,确定所述用户处于所述出行场景。
13.一种应用优化方法,其特征在于,应用于电子设备,所述方法包括:
接收网络设备发送的第一消息的压缩内容;
向所述网络设备获取所述第一消息的原始内容,并将所述第一消息的原始内容存储到所述电子设备的第一缓存区;
接收针对所述第一消息的用户操作;
响应于所述用户操作,从所述第一缓存区中获取所述第一消息的原始内容;
根据所述第一消息的原始内容显示所述第一消息。
14.如权利要求13所述的方法,其特征在于,所述向所述网络设备获取所述第一消息的原始内容,包括:
当确定用户处于预设场景时,向所述网络设备获取所述第一消息的原始内容。
15.如权利要求14所述的方法,其特征在于,所述预设场景为出行场景,所述确定用户处于预设场景,包括:
确定所述用户处于第一出行位置,所述第一出行位置为以下任意一项:机场、火车站、高铁站、汽车站、地铁站、公交站、高速路口或码头;
当所述第一出行位置不为所述用户的惯常活动位置时,确定所述用户处于所述出行场景。
16.如权利要求13-15任一项所述的方法,其特征在于,所述第一消息是根据预设规则确定的,所述预设规则中涉及的参数包括以下至少一项:所述预设场景为出行场景时的出行位置、预测的所述预设场景下处于弱网络覆盖或者无网络覆盖的区域的时长、聊天会话的聊天时间、聊天会话的聊天频率、聊天消息的类型、聊天消息的大小。
17.如权利要求13-15任一项所述的方法,其特征在于,所述方法还包括:
当所述第一缓存区中的第二消息的原始内容的存储时长大于或等于预设时长时,删除所述第一缓存区中的所述第二消息的原始内容。
18.一种电子设备,其特征在于,包括:一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器在执行所述计算机指令时,使得所述电子设备执行如权利要求1-17中任一项所述的方法。
19.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-17中任一项所述的方法。
CN202210408333.2A 2022-04-19 2022-04-19 应用优化方法及电子设备 Pending CN116962794A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210408333.2A CN116962794A (zh) 2022-04-19 2022-04-19 应用优化方法及电子设备
PCT/CN2023/088384 WO2023202483A1 (zh) 2022-04-19 2023-04-14 应用优化方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210408333.2A CN116962794A (zh) 2022-04-19 2022-04-19 应用优化方法及电子设备

Publications (1)

Publication Number Publication Date
CN116962794A true CN116962794A (zh) 2023-10-27

Family

ID=88419168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210408333.2A Pending CN116962794A (zh) 2022-04-19 2022-04-19 应用优化方法及电子设备

Country Status (2)

Country Link
CN (1) CN116962794A (zh)
WO (1) WO2023202483A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109890067B (zh) * 2019-02-21 2021-03-30 华为技术有限公司 对特定路线上的特定位置进行识别的方法及电子设备
CN110225393A (zh) * 2019-05-29 2019-09-10 阿里巴巴集团控股有限公司 视频缓存方法以及装置
CN110765383A (zh) * 2019-10-21 2020-02-07 支付宝(杭州)信息技术有限公司 资源缓存方法以及装置
EP4128592A4 (en) * 2020-04-02 2023-12-13 Qualcomm Incorporated PRELOADING APPLICATION DATA BASED ON NETWORK STATE PREDICTION AND DATA ACCESS BEHAVIOR PREDICTION
CN112399190B (zh) * 2020-10-16 2023-05-09 北京达佳互联信息技术有限公司 音视频数据获取方法及其装置
CN112466440B (zh) * 2020-12-08 2023-07-21 深圳平安智慧医健科技有限公司 医学影像的加载方法、装置、电子设备及存储介质
CN113163255B (zh) * 2021-03-31 2022-07-15 成都欧珀通信科技有限公司 视频播放方法、装置、终端及存储介质

Also Published As

Publication number Publication date
WO2023202483A1 (zh) 2023-10-26

Similar Documents

Publication Publication Date Title
EP3923634B1 (en) Method for identifying specific position on specific route and electronic device
CN114006625B (zh) 一种分屏显示方法与电子设备
WO2021115007A1 (zh) 一种网络切换方法及电子设备
CN114449599B (zh) 基于电子设备位置的网络链路切换方法和电子设备
CN113254409B (zh) 文件共享方法、系统及相关设备
CN113747527B (zh) 基于电子设备状态的网络链路切换方法和电子设备
WO2022048474A1 (zh) 一种多应用共享摄像头的方法与电子设备
CN111543042A (zh) 通知消息的处理方法及电子设备
WO2023138383A1 (zh) 预缓存方法、用户界面及电子设备
CN114546511A (zh) 插件管理方法、系统及装置
CN115333941B (zh) 获取应用运行情况的方法及相关设备
CN114268402A (zh) 一种小区排序方法、装置及用户设备
WO2022166435A1 (zh) 分享图片的方法和电子设备
WO2022022335A1 (zh) 天气信息的展示方法、装置和电子设备
CN113243126B (zh) 一种用于终端的网络管理方法和终端
CN114173286B (zh) 确定测试路径的方法、装置、电子设备及可读存储介质
CN116962794A (zh) 应用优化方法及电子设备
CN115543496A (zh) 消息处理方法及相关装置
WO2023116669A1 (zh) 视频生成系统、方法及相关装置
CN115712745B (zh) 一种用户标注数据的获取方法、系统及电子设备
CN112014866B (zh) 运动轨迹记录方法及相关设备
CN113689220A (zh) 一种网点鉴别的方法
CN117917629A (zh) 服务运行方法及相关产品
CN118113952A (zh) 数据处理方法、设备和系统
CN116668997A (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