CN113391743B - 一种显示方法及电子设备 - Google Patents

一种显示方法及电子设备 Download PDF

Info

Publication number
CN113391743B
CN113391743B CN202110476238.1A CN202110476238A CN113391743B CN 113391743 B CN113391743 B CN 113391743B CN 202110476238 A CN202110476238 A CN 202110476238A CN 113391743 B CN113391743 B CN 113391743B
Authority
CN
China
Prior art keywords
view
state
application
recycle
sliding
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.)
Active
Application number
CN202110476238.1A
Other languages
English (en)
Other versions
CN113391743A (zh
Inventor
忻振文
孙文涌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN202110476238.1A priority Critical patent/CN113391743B/zh
Publication of CN113391743A publication Critical patent/CN113391743A/zh
Application granted granted Critical
Publication of CN113391743B publication Critical patent/CN113391743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种显示方法及电子设备,涉及终端技术领域,可在滚动页面时缩小加载页面中文本和图片之间的时间差,减少页面出现“白块”现象,提高用户的使用体验。该方法包括:电子设备调用recycler view在第一应用的页面中创建滚动控件,滚动控件用于显示一条或多条条目;当接收到用户对滚动控件输入的滑动操作时,电子设备监测recycler view的滑动状态;当recycler view的滑动状态为惯性滑动状态时,电子设备向第一应用上报recycler view的滑动状态为静止状态;当第一应用接收recycler view的滑动状态为静止状态时,第一应用获取第一条目的图片,并将第一条目的图片显示在滚动控件中。

Description

一种显示方法及电子设备
技术领域
本申请涉及终端技术领域,尤其涉及一种显示方法及电子设备。
背景技术
目前,用户在使用手机中的浏览器等应用时,可以通过输入滑动操作等方式触发应用滚动显示当前页面。例如,用户打开手机中的新闻APP后,如图1中的(a)所示,新闻APP可显示第一界面101。第一界面101中可以包括一条或多条新闻消息。每条新闻消息中可包括文本和图片等内容。
如果用户希望浏览后续页面中的新闻消息,可向第一界面101中输入滑动操作。进而,响应于该滑动操作,新闻APP可开始滚动第一界面101,加载第二界面102(第二界面102可与第一界面101的部分内容相同)中的一条或多条新闻消息。由于图片的加载过程相比于文本的加载过程更为复杂,耗时更长,因此,如图1中的(b)所示,当第二界面102中新闻消息的文本已经加载完成后,相应的图片可能还没有加载完成,使得呈现给用户的第二界面102中出现“白块”现象,影响用户的使用体验。
发明内容
本申请提供一种显示方法及电子设备,可在滚动页面时缩小加载页面中文本和图片之间的时间差,减少页面出现“白块”现象,提高用户的使用体验。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种显示方法,包括:电子设备可调用recycler view在第一应用的页面中创建滚动控件,该滚动控件用于显示一条或多条条目;后续,当电子设备接收到用户对上述滚动控件输入的滑动操作时,电子设备可响应该滑动操作,监测recyclerview的滑动状态;当监测到recycler view的滑动状态为惯性滑动状态(即fling状态)时,电子设备可向第一应用上报recycler view的滑动状态为静止状态;这样,当第一应用接收recycler view的滑动状态为静止状态时,即使recycler view实际的滑动状态为fling状态,第一应用也可从服务器获取第一条目的图片,并将第一条目的图片显示在滚动控件中。
也就是说,电子设备可在滚动控件滑动的过程中监测recycler view的滑动状态。当检测到recycler view的滑动状态切换为fling状态时,便可通知对应的应用恢复图片的加载过程,使滚动控件从进入从fling状态开始便可以加载图片进行显示,而不是在滚动控件进入静止状态时才开始加载图片进行显示,从而减少页面出现“白块”现象,提高用户的使用体验。
在一种可能的实现方式中,当recycler view的滑动状态为惯性滑动状态(即fling状态)时,在电子设备向第一应用上报recycler view的滑动状态为静止状态之前,还包括:电子设备可获取目标参数,例如,该目标参数可包括滚动控件的滑动速度、第一应用的刷新帧率或电子设备的负载中的至少一项;进而,电子设备可根据获取到的目标参数进一步确定是否向第一应用上报recycler view的滑动状态为静止状态。
示例性的,电子设备可根据获取到的目标参数确定是否向第一应用上报recyclerview的滑动状态为静止状态的具体策略可以包括:当滚动控件的滑动速度小于速度阈值时,电子设备可确定向第一应用上报recycler view的滑动状态为静止状态;或者,当第一应用的刷新帧率小于帧率阈值时,电子设备可确定向第一应用上报recycler view的滑动状态为静止状态;或者,当电子设备的负载小于负载阈值时,电子设备可确定向第一应用上报recycler view的滑动状态为静止状态。这样,电子设备向第一应用上报recycler view的滑动状态为静止状态后,第一应用加载图片时可降低电子设备负载过高、应用的刷新帧率过高等问题。
在一种可能的实现方式中,在电子设备向第一应用上报recycler view的滑动状态为静止状态之后,还包括:电子设备增加第一应用运行时的计算资源、存储资源或网络资源中的至少一项,从而提高第一应用加载新条目(例如第一条目)中图片的速度,进一步减少文本信息与图片显示时的时间差。
在一种可能的实现方式中,电子设备监测recycler view的滑动状态,包括:当第一应用在预设的应用名单内时,电子设备监测recycler view的滑动状态。也就是说,上述显示方法可适用于应用名单中的各个应用,应用名单中的各个应用均可使用上述方法在滚动时加载新条目的图片,不需要对recycler view和第三方应用(例如第一应用)做任何改动,降低产品的实现复杂度。
在一种可能的实现方式中,在电子设备接收用户对滚动控件输入的滑动操作之后,还包括:电子设备中的view group向recycler view发送与滑动操作对应的N个触摸事件(例如,action down事件、action move事件以及action up事件等),N为大于0的整数;那么,recycler view可根据实时获取到的触摸事件确定recycler view的滑动状态,recycler view的滑动状态包括拖拽状态、惯性滑动状态以及静止状态;当recycler view的滑动状态发生变化时,recycler view可调用预设接口向第一应用上报最新的滑动状态,触发第一应用在滚动控件中加载新条目的文本信息和图片。
一般,由于文本信息的数据量较小,当recycler view的滑动状态为任意状态时第一应用均可正常加载新条目中的文本信息。而对于新条目的图片,当第一应用获取到recycler view的滑动状态为拖拽状态或静止状态时,第一应用可开始从服务器中获取滚动控件中新条目的图片;而当第一应用获取到recycler view的滑动状态为惯性滑动状态时,第一应用可停止从服务器中获取滚动控件中新条目的图片。
在这种场景下,上述电子设备监测到recycler view的滑动状态为惯性滑动状态,包括:当view group检测到向recycler view发送action up的触摸事件后,说明用户手指离开触摸屏,则view group可查询recycler view的滑动状态是否切换为惯性滑动状态。
在一种可能的实现方式中,当监测到recycler view的滑动状态为惯性滑动状态时,view group也可调用上述预设接口,但此时view group向第一应用上报recycler view的滑动状态为静止状态,而不是惯性滑动状态,从而提前触发第一应用获取滚动控件中新条目的图片。
在一种可能的实现方式中,view group查询recycler view的滑动状态是否切换为惯性滑动状态,包括:view group可通过Java反射机制查询recycler view中是否将recycler view的滑动状态是否切换为惯性滑动状态。
在一种可能的实现方式中,当recycler view的滑动状态为静止状态时,还包括:电子设备中的第一应用获取第一条目的文本信息,并将第一条目的文本信息显示在滚动控件中。
第二方面,本申请提供一种电子设备,包括获取单元、控制单元以及监测单元,其中,控制单元用于调用recycler view在第一应用的页面中创建滚动控件,滚动控件用于显示一条或多条条目;进而,获取单元用于接收用户对滚动控件输入的滑动操作;进而,监测单元用于监测recycler view的滑动状态;当监测到recycler view的滑动状态为惯性滑动状态时,控制单元用于向第一应用上报recycler view的滑动状态为静止状态;当第一应用接收recycler view的滑动状态为静止状态时,控制单元用于控制第一应用获取第一条目的图片,并将第一条目的图片显示在滚动控件中。
第三方面,本申请提供一种电子设备,包括:存储器、显示屏、通信接口和一个或多个处理器;存储器、显示屏、通信接口与处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当电子设备运行时,该处理器用于执行该存储器存储的一个或多个计算机指令,以使电子设备执行如上述第一方面中任一项所述的显示方法。
第四方面,本申请提供一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任一项所述的显示方法。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面中任一项所述的显示方法。
可以理解地,上述提供的第二方面和第三方面所述的电子设备、第四方面所述的计算机存储介质,以及第五方面所述的计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为现有技术中出现“白块”现象的应用场景示意图;
图2为现有技术中加载页面中的新条目的交互流程示意图;
图3为本申请实施例提供的一种电子设备的结构示意图一;
图4为本申请实施例提供的一种电子设备中操作系统的架构示意图;
图5为本申请实施例提供的一种显示方法的应用场景示意图一;
图6为本申请实施例提供的一种显示方法的应用场景示意图二;
图7A为本申请实施例提供的一种显示方法的应用场景示意图三;
图7B为本申请实施例提供的一种显示方法的交互流程示意图;
图8为本申请实施例提供的一种显示方法的应用场景示意图四;
图9为本申请实施例提供的一种显示方法的应用场景示意图五;
图10为本申请实施例提供的一种显示方法的应用场景示意图六;
图11为本申请实施例提供的一种显示方法的应用场景示意图七;
图12为本申请实施例提供的一种显示方法的流程示意图一;
图13为本申请实施例提供的一种显示方法的流程示意图二;
图14为本申请实施例提供的一种电子设备的结构示意图二;
图15为本申请实施例提供的一种电子设备的结构示意图三。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
目前,浏览器、新闻或社交等应用(APP)在运行时可向用户提供滑动页面加载新内容的功能。以浏览器APP举例,如图2所示,浏览器APP在显示第一页面时可接收用户输入的滑动操作。检测到用户输入的滑动操作后,浏览器APP可确定出滚动后的页面中需要显示的一条或多条条目(item),进而,浏览器APP可从服务器中获取对应条目中的文本信息,并将条目中的文本信息显示在滚动后的页面中。其中,从浏览器APP请求服务器获取上述文本信息,至浏览器APP显示获取到的文本信息这一过程可称为条目中文本信息的加载过程。
当需要显示的条目中包括图片时,仍如图2所示,在浏览器APP请求服务器获取上述文本信息之后,浏览器APP还可以请求服务器获取对应条目中的图片,即条目中的文本信息和图片是异步获取的。后续,浏览器APP从服务器中获取到对应条目中的图片后,可对图片进行解码等操作,最终将图片显示在对应条目中。其中,从浏览器APP请求服务器获取上述图片,至浏览器APP显示该图片这一过程可称为条目中图片的加载过程。
一般,浏览器APP是通过调用recycler view等控件显示出上述第一页面的。在第一页面滑动的过程中,recycler view可向浏览器APP上报recycler view自身的滑动状态。例如,当滑动状态为拖拽状态(drag状态)时,说明用户正在拖拽上述第一页面滑动;当滑动状态为惯性滑动状态(fling状态)时,说明用户停止拖拽上述第一页面,此时第一页面处于惯性滑动中;当滑动状态为静止状态(idle状态)时,说明此时第一页面停止滑动。
目前,浏览器APP等一些APP在接收到recycler view上报的fling状态后,会停止从服务器中获取对应条目中的图片,直到接收到recycler view上报的idle状态后才恢复图片的加载过程,这导致从fling状态开始到idle状态这一阶段滑动后的第一页面出现图片位置没有图片的“白块”现象,影响用户的使用体验。
对此,在本申请实施例中,电子设备可在页面(例如上述第一页面)滑动的过程中监测recycler view的滑动状态是否为fling状态。当检测到recycler view的滑动状态切换为fling状态时,便可通知APP恢复图片的加载过程,使页面从进入从fling状态开始便可以加载图片进行显示,从而减少页面出现“白块”现象,提高用户的使用体验。
下面将结合附图对本实施例的实施方式进行详细描述。
示例性的,本申请实施例提供的一种显示方法可应用于手机、车载设备(也可称为车机)、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴电子设备、虚拟现实设备等具有显示功能的电子设备,本申请实施例对此不做任何限制。
以手机为上述电子设备举例,如图3所示,为手机的一种结构示意图。
其中,手机可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180等。
可以理解的是,本发明实施例示意的结构并不构成对手机的具体限定。在本申请另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器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)接口等。
手机的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在手机上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机可以包括1个或N个显示屏194,N为大于1的正整数。
手机可以通过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等格式的图像信号。在一些实施例中,手机可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机可以支持一种或多种视频编解码器。这样,手机可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpicture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。手机可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当手机接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。手机可以设置至少一个麦克风170C。在另一些实施例中,手机可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
传感器模块180中可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
当然,手机还可以包括充电管理模块、电源管理模块、电池、按键、指示器以及1个或多个SIM卡接口等,本申请实施例对此不做任何限制。
仍以手机为上述电子设备举例,手机的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明手机的软件结构。
图4是本申请实施例的手机的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
1、应用程序层
应用程序层可以包括一系列应用程序。
如图4所示,上述应用程序可以包括通话,联系人,相机,图库,日历,地图,导航,蓝牙,音乐,视频,短信息等应用(application,APP)。
2、应用程序框架层
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
示例性的,仍如图4所示,应用程序框架层中可以包括视图系统(view system)。视图系统可用于构建应用程序的显示界面。每个显示界面可以由一个或多个控件(view)组成。例如,text view(文本控件),image view(图片控件),list view(列表控件)或recycler view(回收器控件)等。其中,list view或recycler view等控件可向应用提供滑动页面的功能。
例如,浏览器APP在运行时可以通过调用recycler view在页面中创建一个可以滚动的控件,并在该控件中显示文本和图片等内容。仍如图4所示,view system中还设置有view group(视图组),recycler view创建时可继承(extend)于view group,即recyclerview是view group的子类,recycler view能够拥有view group的所有数据和功能,并且,recycler view可基于view group的数据和功能创建新功能。而view group作为recyclerview的父类,一般无法获取到recycler view创建的新功能相关的数据。
浏览器APP创建recycler view后,可在页面中显示出与recycler view对应的滚动控件。浏览器APP可在滚动控件中显示一个或多个条目,该滚动控件可响应用户输入的滑动操作滚动加载一个或多个新的条目。仍如图4所示,手机的触摸屏检测到用户手指触摸触摸屏后,可通过内核层的触摸驱动向应用程序框架层中的input manager(输入管理器)实时上报相应的触摸参数,例如,触摸点的坐标、触摸时间等。input manager可根据接收到的触摸参数生成对应的触摸事件,例如,action down事件、action move事件以及action up事件等。进而,input manager可实时的将生成触摸事件分发给view group等组件。viewgroup获取到最新的触摸事件后,可将该触摸事件发送给recycler view,由recycler view根据接收到的触摸事件确定用户是否对页面中的滚动控件输入滑动操作。如果用户输入了滑动操作,则recycler view可进一步根据接收到触摸事件确定当前recycler view的滑动状态,recycler view的滑动状态此时也代表了页面中与recycler view对应的滚动控件滑动状态。
例如,如果recycler view连续N(N为大于0的整数)次接收到action move事件,说明用户手指接触触摸屏正在移动,则recycler view可确定当前recycler view的滑动状态为拖拽状态(即drag状态)。后续,如果接收到action up事件,说明用户手指已经离开触摸屏,则recycler view可确定此时recycler view的滑动状态为惯性滑动状态(即fling状态)。此时,与recycler view对应的滚动控件也在页面中呈惯性滑动状态。当滚动控件处于惯性滑动状态一定时间后,惯性滑动停止,recycler view可确定此时当前recycler view的滑动状态为静止状态(即idle状态)。
并且,recycler view可将确定出的滑动状态实时的上报给浏览器APP。例如,浏览器APP启动时,可向recycler view注册用于监听页面滑动状态变化的监听接口(例如接口A)。当recycler view确定当前recycler view的滑动状态变化时,例如从drag状态切换为fling状态时,recycler view可通过调用接口A将最新的滑动状态上报给浏览器APP。进而,浏览器APP可根据上述滑动状态确定是否加载对应滚动控件中出现的新条目。一般,条目中的文本信息和图片是浏览器APP异步的从服务器中获取的。例如,浏览器APP可先从服务器中获取最新的20条条目中的文本信息,再根据recycler view的滑动状态实时从服务器中获取相应条目中的图片。
示例性的,如图5中的(a)所示,浏览器APP显示页面501时,可通过创建recyclerview在页面501中显示对应的滚动控件500。滚动控件500中包括3条新闻消息,即新闻消息502、新闻消息503以及新闻消息504,新闻消息504此时仅显示有文本信息。每条新闻消息为一个条目,每个条目中可以包括新闻内容等文本信息,也可以包括头像、新闻图片等图片。
当浏览器APP响应用户输入的滑动操作滚动上述滚动控件500时,如图5中的(b)所示,浏览器APP可根据当前的滑动速度或滑动时间等参数确定需要显示完整的第3条新闻消息(即新闻消息504)和第4条新闻消息(即新闻消息505)。由于浏览器APP已经获取了第3条新闻消息的文本信息,因此,浏览器APP可从服务器或本地获取第4条新闻消息中的文本信息,并在滚动后的页面501中显示第3条和第4条新闻消息中的文本信息。并且,浏览器APP可根据当前页面的滑动状态确定是否从服务器中获取第3条和第4条新闻消息中的图片。
目前,一些应用获取到recycler view为fling状态后,会停止从服务器中获取相应条目中的图片;当应用获取到recycler view从fling状态切换为idle状态后,才开始从服务器中获取相应条目中的图片。那么,仍如图5中的(b)所示,这种显示方法使得滚动控件500滚动时从fling状态至idle状态的这段时间内无法正常获取并显示出相应条目(例如上述第3条和第4条新闻消息)中的图片。
对此,在本申请实施例中,view group可监测recycler view中确定出的当前recycler view的滑动状态。当recycler view的滑动状态切换为fling状态后,为了使浏览器APP能够显示出相应条目中的图片,手机可以通过view group调用上述预设的接口A向浏览器APP上报当前recycler view的滑动状态为idle状态。此时,对于浏览器APP而言,虽然当前recycler view实际的滑动状态为fling状态,但浏览器APP从上述接口A获取到recycler view的滑动状态为idle状态,则浏览器APP可按照现有的实现方法从服务器中获取相应条目中的图片,并对图片进行解码等操作后显示在相应条目内。
这样一来,第三方应用(例如上述浏览器APP)在使用recycler view等控件实现页面滚动的功能时,当recycler view处于fling状态时也能够为用户加载相应条目中的图片,从而缩短条目中加载文本信息与加载图片之间的时间差,降低页面中“白块”现象的出现时间和出现频率,提高用户的使用体验。并且,上述方法不需要对recycler view和第三方应用(例如上述浏览器APP)做任何改动,任意应用通过recycler view等控件实现页面滑动功能时均可按照上述方法显示页面中的新条目,可降低产品的实现复杂度。
示例性的,应用程序框架层中还可以包括活动管理器,窗口管理器,内容提供器,资源管理器,输入法管理器等。
其中,活动管理器可用于管理每个应用的生命周期。应用通常以activity的形式运行在操作系统中。活动管理器可以调度应用的activity进程管理每个应用的生命周期。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
3、Android runtime和系统库
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绘图的绘图引擎。
4、内核层
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动等,本申请实施例对此不做任何限制。
以下仍以手机为例,结合附图详细阐述本申请实施例提供的一种显示方法。
示例性的,手机中可以安装支持页面滚动功能的第一应用,例如新闻APP、浏览器APP、微博APP、电子书APP等。以第一应用为微博APP举例,如图6所示,用户打开手机中微博APP的首页后,微博APP可显示支持页面滚动功能的首页601。例如,首页601中包括标题栏602、导航栏603和消息列表604。微博APP启动后,可调用view 1(例如text view)在首页601中显示标题栏602,并调用view 2(例如image view)在首页601中显示导航栏603。同时,微博APP可调用recycler view在首页601中显示消息列表604。此时,消息列表604为与recycler view对应的滚动控件,该滚动控件可响应用户输入的滑动操作滚动显示一条或多条消息(也可称为微博消息)。其中,每条微博消息中可以包括文本信息(例如联系人昵称、消息内容等)和图像(例如联系人头像、照片等),每条微博消息也可称为一个条目(item)。
仍如图6所示,消息列表604中可以包括微博消息604a、微博消息604b以及微博消息604c共三条微博消息。例如,微博APP在显示首页601时,可根据消息列表604在首页601中的大小和位置,确定需要在消息列表604中显示3条微博消息(也可称为消息)。进而,微博APP可从服务器中获取最新的3条微博消息中的文本信息和图片,即上述微博消息604a、微博消息604b以及微博消息604c。进而,微博APP可将微博消息604a、微博消息604b以及微博消息604c显示在首页601的消息列表604中。
或者,微博APP也可从服务器中获取多于3条的微博消息。例如,微博APP可以从服务器中获取最新10条微博消息中的文本信息。并且,微博APP可以从服务器中获取最新5条微博消息中的图片。如果消息列表604中只能布局3条微博消息,则微博APP可将前三条微博消息中的文本信息和图片显示得消息列表604中,剩余的微博消息中的文本信息和/或图片可缓存在手机中。
由于创建消息列表604的recycler view支持页面滚动功能,因此,当手机检测到用户向消息列表604输入预设的滑动操作(例如上滑操作)时,可触发微博APP在消息列表604中滚动显示新的一条或多条微博消息。示例性的,用户向消息列表604输入滑动操作时,手机可根据触摸点的坐标等参数实时生成对应的触摸事件(例如,action down事件、action move事件以及action up事件等)。并且,手机可将生成的触摸事件分发给recyclerview,由recycler view实时确定消息列表604在滑动过程中recycler view的滑动状态。
示例性的,仍以第一应用为微博APP举例,微博APP创建recycler view后,可在上述首页601中显示与recycler view对应的消息列表604。后续,如果手机的触摸屏检测到用户输入的滑动操作,则触摸屏可通过驱动向input manager(输入管理器)实时上报相应的触摸参数,例如,触摸点的坐标、触摸时间等。input manager可根据接收到的触摸参数生成对应的触摸事件,例如,action down事件、action move事件以及action up事件等。进而,input manager可统一将生成的触摸事件通过view group分发给recycler view等相关控件。
可选的,如图7A中的(a)所示,在执行下述步骤之前,手机可以在微博APP显示的首页601中显示对话框605,通过对话框605提示用户是否使用本申请实施例提供的显示方法加载图片(即智能图片加载功能),以降低页面中“白块”现象的出现时间和出现频率。如果检测到用户选择对话框605中的确认按钮606,则手机可继续执行下述步骤执行。否则,手机可按照现有的图片加载流程加载消息列表604中相应微博消息的图片。当然,手机还可以在对话框605中提示用户开启上述智能图片加载功能后可能会导致CPU负载增加、流量消耗增加的后果,本申请实施例对此不做任何限制。
或者,手机也可以在设置应用中增加上述智能图片加载功能的开启选项。如图7A中的(b)所示,手机可响应于用户的操作打开设置应用,进而显示设置应用的设置界面607。设置界面607中可以设置智能图片加载功能的选项608。如果检测到用户打开了选项608,则微博APP等应用在运行时手机可通过执行下述步骤实现上述智能图片加载功能,以降低页面中“白块”现象的出现时间和出现频率。如果用户没有打开选项608,则手机可在微博APP等应用运行时按照现有的图片加载流程加载新条目中的图片。当然,手机也可以默认将选项608设置为开启状态,本申请实施例对此不做任何限制。
如图7B所示,在步骤S701中,view group接收到action down事件后,可将actiondown事件发送至recycler view。同样,在接收到action down事件后,如果view group又接收到一系列action move事件,则view group可将接收到的action move事件发送至recycler view。
在一些实施例中,如图8所示,如果recycler view在接收到action down事件后,又接收到一系列action move事件,说明此时用户手指滑动了与recycler view对应的消息列表604,则如步骤S702所述,recycler view可确定当前recycler view的滑动状态为drag状态。此时,如步骤S703所述,recycler view可调用预设的接口(例如接口A),向微博APP上报当前recycler view的滑动状态为drag状态。例如,recycler view可向接口A输入与drag状态对应的标识1,使微博APP通过标识1可确定当前recycler view的滑动状态为drag状态。
当recycler view为drag状态时,说明用户正在拖拽消息列表604滑动,如步骤S704所述,微博APP可获取最新的一条或多条微博消息(也可称为消息)。并且,在步骤S705a和S705b中,微博APP可将获取到的微博消息滚动显示在消息列表604中。例如,微博APP可根据滑动速度等参数确定需要最新显示的微博消息的数目。仍如图8所示,如果需要在微博消息604c之后最新显示一条微博消息,则微博APP可先查询手机是否缓存有位于微博消息604c之后的微博消息801。如果手机中缓存有微博消息801,则如图8所示,微博APP可在消息列表604中滚动显示微博消息的列表,将微博消息801显示在微博消息604c之后,此时,消息列表604中的微博消息604a可隐藏在消息列表604中,实现页面滚动显示的功能。
或者,如果手机中仅缓存有微博消息801的文本信息,没有缓存微博消息801的图片,则微博APP可按照上述方法将微博消息801的文本信息显示在微博消息604c之后。并且,如图7B所示,微博APP可从服务器中获取微博消息801的图片,并将微博消息801的图片显示在微博消息801中。另外,图7B中是以微博APP先请求服务器获取微博消息801的图片,再显示微博消息801的文本信息举例说明的,可以理解的是,微博APP也可以先显示微博消息801的文本信息再请求服务器获取微博消息801的图片,或同时显示微博消息801的文本信息并请求服务器获取微博消息801的图片。当然,微博APP获取到微博消息801的图片后,还可以对该图片进行解码等操作,本申请实施例对此不做任何限制。
类似的,如果手机中仅缓存有微博消息801的图片,没有缓存微博消息801的文本信息,则微博APP可先按照上述方法将微博消息801的图片显示在微博消息604c之后。并且,微博APP可从服务器中获取微博消息801的文本信息,并将微博消息801的文本信息显示在微博消息801中。
又或者,如果手机中既没有仅缓存微博消息801的文本信息,也没有缓存微博消息801的图片,则微博APP可请求服务器,从服务器中获取微博消息801的文本信息和图片。一般,微博APP从服务器中获取文本信息的速度快于微博APP从服务器中获取图片的速度。那么,微博APP获取到微博消息801的文本信息后,可先按照上述方法将微博消息801的文本信息显示在微博消息604c之后,再将后续获取到的图片显示在微博消息801中。
当然,如果在微博APP显示出微博消息801后,recycler view的滑动状态仍为drag状态,则微博APP可继续按照上述方法在消息列表604中滚动显示新的微博消息。
上述实施例中举例阐述了recycler view确定出recycler view的滑动状态为drag状态时,微博APP滚动显示新的微博消息的具体方法。后续,仍如图7B所示,在步骤S706中,当recycler view接收到一个或多个action up事件后,如图9所示,说明用户手指在滑动消息列表604的过程中已经离开触摸屏。此时,消息列表604基于惯性可继续进行滚动,即消息列表604进入惯性滑动阶段。那么,在步骤S707中,recycler view可确定与消息列表604对应的recycler view的滑动状态为fling状态。
例如,recycler view中可设置预设的标记位用于存储当前recycler view的滑动状态。当recycler view确定出当前recycler view的滑动状态为drag状态时,可在上述标记位中记录标识1,通过标识1标识当前recycler view的滑动状态为drag状态。当recyclerview确定出当前recycler view的滑动状态为fling状态时,可将上述标记位中的标识1更新为标识2,通过标识2标识当前recycler view的滑动状态为fling状态。
当recycler view确定出当前recycler view的滑动状态从drag状态切换为fling状态后,与上述实施例类似的,在步骤S708中,recycler view可调用上述预设的接口A向微博APP上报当前recycler view的滑动状态切换为fling状态。在一些实施例中,微博APP等应用获取到当前recycler view的滑动状态为fling状态时,会停止从服务器中获取新的微博消息的图片,使得微博APP无法在对应的消息列表604中加载新的微博消息的图片。一般,当微博APP等应用获取到当前recycler view的滑动状态从fling状态切换为idle状态后,可触发应用恢复从服务器中获取新的微博消息中图片的流程。
例如,仍如图9所示,当recycler view的滑动状态为fling状态时,如步骤S709所述,微博APP可将新的微博消息901的文本信息滚动显示在消息列表604中。微博消息901的文本信息可以是微博APP响应于滑动状态切换为fling状态从服务器中获取的,也可以是手机中已经缓存的。此时,由于微博APP停止从服务器中获取微博消息901的图片,会使得微博消息901的图片无法正常加载出来,出现“白块”现象。当然,如果手机中缓存有微博消息901的图片,则在fling状态下,微博APP可将微博消息901的文本信息和图片均滚动显示在消息列表604中。
在本申请实施例中,为了减少fling状态下页面中条目(例如上述微博消息901)的图片无法显示而引起的“白块”现象,手机中可设置管理模块,通过管理模块监测recyclerview确定出的滑动状态是否切换为fling状态,进而在fling状态下指示对应的应用(例如微博APP)从服务器中获取相应条目中的图片并显示,从而缩短条目刷新时文本信息与图片之间进行显示的时间差。
示例性的,上述管理模块具体可以为view group。view group可实时检测recycler view确定出的滑动状态是否为fling状态。例如,仍如图7B所示,如果view group向recycler view分发了一系列action move事件后,检测到向recycler view分发了M(M为大于0的整数)个action up事件,则view group可查询recycler view确定出的滑动状态是否从drag状态切换为fling状态。一般,recycler view作为view group的子类,view group无法获知recycler view内部的数据。在本申请实施例中,view group检测到向recyclerview分发了action up事件(即步骤S706)之后,view group可利用Java反射机制获取recycler view这个子类内部的数据,从而查询到recycler view中确定出的recyclerview的具体滑动状态。
又例如,当recycler view确定出recycler view的滑动状态从drag状态切换为fling状态后,可以主动向view group发送状态变更消息,使得view group根据该状态变更消息确定recycler view的滑动状态切换为fling状态。
仍如图7B所示,在步骤S710中,view group可按照上述方法确定出recycler view的滑动状态切换为fling状态。进而,与recycler view确定出recycler view的滑动状态切换为fling状态不同的是,在步骤S711中,view group可调用上述预设的接口A向微博APP上报当前recycler view的滑动状态为idle状态。也就是说,虽然与消息列表604对应的recycler view的实际滑动状态为fling状态,但view group可向微博APP通知此时recycler view的滑动状态已切换为idle状态。
其中,上述预设的接口A可以为recycler view与微博APP交互时的公共接口,viewgroup能够直接获取到该公共接口。或者,view group在利用Java反射机制获取recyclerview内部的数据时,除了可以获取到recycler view的滑动状态外,还可以获取到recyclerview向微博APP上报滑动状态的接口,即上述接口A。这样,view group通过接口A向微博APP上报的滑动状态,与recycler view通过接口A向微博APP上报的滑动状态对微博APP而言是相同的。
对于微博APP而言,微博APP通过上述接口A获知当前recycler view的滑动状态为idle状态后,在步骤S712中,微博APP可开始从服务器中获取新的微博消息的图片。例如,微博APP接收到实际由view group上报的idle状态后,如果需要在消息列表604中显示微博消息901,则微博APP可从服务器中获取微博消息901的图片。并且,在步骤S713中,微博APP可将微博消息901的图片显示在消息列表604中。需要说明的是,view group向微博APP通知上述idle状态时,微博APP可以显示或还未显示微博消息901的图片。进而,如图10所示,微博APP不仅可将新的微博消息901的文本信息滚动显示在消息列表604中,还可以将微博消息901的图片滚动显示在消息列表604中。
显然,相比于微博APP等待recycler view确定出recycler view的实际滑动状态为idle状态后,再获取新的微博消息(例如上述微博消息901)的图片进行显示,上述显示方法中微博APP可以在recycler view处于fling状态时便获取新的微博消息的图片进行显示。这样,微博APP在刷新与recycler view对应的消息列表604中的微博消息时,显示微博消息中文本信息与显示微博消息中图片之间的时间差会缩短,从而可降低页面中“白块”现象的出现时间和出现频率。
在一些实施例中,当view group检测到当前recycler view的滑动状态切换为fling状态后,还可以进一步根据当前消息列表604的滑动速度、手机负载等参数确定是否向微博APP通知recycler view的滑动状态切换为idle状态。
如图12所示,仍以微博APP为第一应用举例,在步骤S1201中,微博APP开始运行后可通过创建recycler view,在首页601中显示对应的消息列表604。进而,在步骤S1202中,view group可监测recycler view的滑动状态是否切换为fling状态。当recycler view的滑动状态切换为fling状态后,view group可执行步骤S1203a-S1203c,获取当前消息列表604的滑动速度、手机负载以及当前微博APP的刷新帧率等参数。进而,在步骤S1204中,viewgroup可根据获取到的参数决策是否向微博APP通知recycler view的滑动状态切换为idle状态。
示例性的,在步骤S1203a中,当view group检测到当前recycler view的滑动状态切换为fling状态后,view group还可以获取当前消息列表604的滑动速度。如果当前消息列表604的滑动速度小于速度阈值1,说明当前消息列表604的滑动速度较慢,用户对消息列表604中的内容的关注度较高,则在步骤S1204中,view group可按照上述方法向微博APP通知此时recycler view的滑动状态已切换为idle状态,触发微博APP加载新消息(即新的微博消息)中的图片,尽量减少文本信息与图片显示时的时间差。相应的,如果当前消息列表604的滑动速度大于速度阈值2(速度阈值2大于或等于速度阈值1),说明当前消息列表604的滑动速度较快,用户对消息列表604中的内容的关注度较低,则在步骤S1204中,viewgroup可暂时不向微博APP通知此时recycler view的滑动状态已切换为idle状态。
示例性的,在步骤S1203b中当view group检测到当前recycler view的滑动状态切换为fling状态后,view group还可以获取当前手机的负载值。如果当前手机的负载值小于负载阈值1,说明当前手机的负荷不大,则在步骤S1204中,view group可按照上述方法向微博APP通知此时recycler view的滑动状态已切换为idle状态,触发微博APP加载新的微博消息中的图片,尽量减少文本信息与图片显示时的时间差。相应的,如果当前手机的负载值大于负载阈值2(负载阈值2大于或等于负载阈值1),说明当前手机的负荷较大,则在步骤S1204中,view group可暂时不向微博APP通知此时recycler view的滑动状态已切换为idle状态,降低手机的负荷。
示例性的,在步骤S1203c中当view group检测到当前recycler view的滑动状态切换为fling状态后,view group还可以获取当前微博APP的刷新帧率。如果微博APP的刷新帧率小于帧率阈值1,说明当前手机进行显示的负荷不大,则在步骤S1204中,view group可按照上述方法向微博APP通知此时recycler view的滑动状态已切换为idle状态,触发微博APP加载新的微博消息中的图片,尽量减少文本信息与图片显示时的时间差。相应的,如果微博APP的刷新帧率大于帧率阈值2(帧率阈值2大于或等于帧率阈值1),说明当前手机进行显示的负荷较大,则在步骤S1204中,view group可暂时不向微博APP通知此时recyclerview的滑动状态已切换为idle状态。
当然,本领域技术人员还可以设置view group根据其他的参数,确定是否在fling状态下向微博APP通知滑动状态已切换为idle状态,触发微博APP加载新的微博消息中的图片。例如,当view group检测到当前recycler view的滑动状态切换为fling状态后,viewgroup还可以获取当前手机的流量使用情况。如果手机的剩余流量较多,则view group可按照上述方法向微博APP通知此时recycler view的滑动状态已切换为idle状态,触发微博APP加载新的微博消息中的图片。相应的,如果手机的剩余流量较少,则view group可暂时不向微博APP通知此时recycler view的滑动状态已切换为idle状态,避免过渡消耗手机流量。
另外,当view group检测到当前recycler view的滑动状态切换为fling状态后,在步骤S1204中,view group还可以结合上述消息列表604的滑动速度、手机的负载值以及微博APP的刷新帧率中的多项确定是否向微博APP通知滑动状态已切换为idle状态。例如,view group可以设置当同时满足消息列表604的滑动速度小于速度阈值1、手机的负载值小于负载阈值1以及微博APP的刷新帧率小于帧率阈值1时,触发view group在fling状态下向微博APP通知滑动状态已切换为idle状态,本申请实施例对此不做任何限制。
在另一些实施例中,仍如图12所示,当view group在fling状态下向微博APP通知当前recycler view的滑动状态已切换为idle状态后,在步骤S1205中,手机还可以通过向微博APP提供更多的计算资源、存储资源或网络资源等方式,提高步骤S1206中微博APP加载新的微博消息中图片的速度,进一步减少文本信息与图片显示时的时间差。
例如,在view group调用上述预设的接口A向微博APP上报当前recycler view的滑动状态为idle状态之后,手机可提高CPU的频率从而向微博APP提供的更多的计算资源。又例如,在view group调用上述预设的接口A向微博APP上报当前recycler view的滑动状态为idle状态之后,手机可增加微博APP的运行内存从而向微博APP提供的更多的存储资源。又例如,在view group调用上述预设的接口A向微博APP上报当前recycler view的滑动状态为idle状态之后,手机可为微博APP分配更多的带宽从而向微博APP提供的更多的网络资源。通过向微博APP提供更多的计算资源、存储资源或网络资源,能够提高微博APP从服务器中获取新的微博消息(例如上述微博消息901)中的图片,并将图片显示在消息列表604这一加载过程的速度,进一步减少文本信息与图片显示时的时间差,降低刷新消息列表604时出现“白块”现象。
在另一些实施例中,仍以微博APP为第一应用举例,如图13所示,在步骤S1301中,微博APP开始运行后可通过创建recycler view,在首页601中显示对应的消息列表604。进而,在步骤S1302中,view group可查询微博APP是否在预设的应用名单中。在应用名单中的应用为已开启本申请提供的显示方法加载新条目的应用。例如,手机可以在设置APP中向用户提供用于手动修改上述应用名单的设置功能。用户可通过该设置功能手动添加或删除上述应用名单中的应用。
如果微博APP在预设的应用名单,则在步骤S1303中,view group可监测recyclerview的滑动状态是否切换为fling状态。当recycler view的滑动状态切换为fling状态后,在步骤S1304中,view group可按照上述实施例中的方法向微博APP通知recycler view的滑动状态切换为idle状态,触发微博APP在步骤S1305中加载消息列表604中新消息(即新的微博消息)。
当然,当recycler view的滑动状态切换为fling状态后,view group也可按照上述步骤S1204所述的方法,结合当前消息列表604的滑动速度、手机负载以及当前微博APP的刷新帧率等参数,决策是否向微博APP通知recycler view的滑动状态切换为idle状态。或者,view group也可按照上述步骤S1205所述的方法,通过向微博APP提供更多的计算资源、存储资源或网络资源等方式,提高微博APP加载新的微博消息中图片的速度,本申请实施例对此不做任何限制。
仍如图7B所示,当view group在fling状态下向微博APP通知滑动状态已切换为idle状态之后,recycler view可继续实时确定当前recycler view的滑动状态。例如,当recycler view确定出recycler view的滑动状态为fling状态后,recycler view可根据消息列表604的滑动速度等参数确定消息列表604进行惯性滑动的时间。当消息列表604进行惯性滑动的时间结束后,在步骤S714中,recycler view可确定当前recycler view的滑动状态为idle状态。或者,当recycler view确定出recycler view的滑动状态为fling状态后,如果recycler view检测到一定时间内没有接收到view group发送的触摸事件,则recycler view可确定当前recycler view的滑动状态为idle状态。
进而,与上述实施例类似的,仍如图7B所示,在步骤S715中,recycler view可调用上述预设的接口A向微博APP上报当前recycler view的滑动状态为idle状态。也就是说,当消息列表604的实际滑动状态切换为idle状态后,微博APP会再一次接收到recycler view的滑动状态为idle状态的消息。此时,如图11所示,微博APP仍然可以按照上述方法确定当前需要显示的最新的微博消息1101。并且,在步骤S716中,微博APP可从服务器中获取微博消息1101的图片,并且,在步骤S717a和步骤S717b中,微博APP可将微博消息1101的文本信息和图片显示在消息列表604中。这样,当消息列表604的实际滑动状态为idle状态时,微博APP也能够及时刷新最新的微博消息中的文本信息和图片。
其中,无论消息列表604处于哪种滑动状态,当微博APP确定出需要显示的新的微博消息后,如果手机中缓存有该微博消息的文本信息和/图片,则微博APP无需再从服务器中获取该微博消息的文本信息和/图片,微博APP可直接将已经缓存的文本信息和/图片滚动显示在消息列表604中。
需要说明的是,上述实施例中是以微博APP在显示首页时响应用户的滑动操作滚动显示微博消息举例说明的。可以理解的是,手机在运行其他应用时,也可以按照上述方法在页面滚动时显示新条目,使新条目中文本信息和图片进行显示时的时间差降低,降低页面中“白块”现象的出现时间和出现频率,提高用户的使用体验。
另外,上述实施例中是以手机在页面滚动时显示新条目举例说明的,可以理解的是,上述显示方法还可以应用于车载设备、平板电脑、手表等电子设备中,这些设备均可用于实现上述实施例中所述的显示方法,本申请实施例对此不做任何限制。
如图14所示,本申请实施例公开了一种电子设备,该电子设备可以为上述手机。该电子设备具体可以包括获取单元1401、控制单元1402以及监测单元1403。获取单元1401、控制单元1402以及监测单元1403之间通过交互可使电子设备执行上述实施例中的相关步骤。
例如,控制单元1402可用于调用recycler view在第一应用(例如微博APP)的页面中创建滚动控件(例如消息列表604),该滚动控件用于显示一条或多条条目;进而,获取单元1401可用于接收用户对滚动控件输入的滑动操作;响应于滑动操作,监测单元1403可用于监测recycler view的滑动状态;当监测到recycler view的滑动状态为惯性滑动状态时,控制单元1402可用于向第一应用上报recycler view的滑动状态为静止状态;当第一应用接收到监测单元1403上报的recycler view的滑动状态为静止状态时,控制单元1402可用于控制第一应用获取第一条目的图片,并将第一条目的图片显示在滚动控件中。当然,获取单元1401、控制单元1402以及监测单元1403之间通过交互还可以实现上述步骤S701-S717中的相关步骤,本申请实施例对此不做任何限制。
如图15所示,本申请实施例公开了一种电子设备,该电子设备可以为上述手机。该电子设备具体可以包括:触摸屏1501,所述触摸屏1501包括触摸传感器1506和显示屏1507;一个或多个处理器1502;存储器1503;通信接口1508;一个或多个应用程序(未示出);以及一个或多个计算机程序1504,上述各器件可以通过一个或多个通信总线1505连接。其中,上述一个或多个计算机程序1504被存储在上述存储器1503中并被配置为被该一个或多个处理器1502执行,该一个或多个计算机程序1504包括指令,该指令可以用于执行上述实施例中的相关步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种显示方法,其特征在于,包括:
电子设备调用回收器控件recycler view在第一应用的页面中创建滚动控件,所述滚动控件用于显示一条或多条条目;
所述电子设备接收用户对所述滚动控件输入的滑动操作;
响应于所述滑动操作,所述电子设备监测所述recycler view的滑动状态;
当监测到所述recycler view的滑动状态为惯性滑动状态时,所述电子设备向所述第一应用上报所述recycler view的滑动状态为静止状态;
当所述第一应用接收所述recycler view的滑动状态为静止状态时,所述第一应用获取第一条目的图片,并将所述第一条目的图片显示在所述滚动控件中;
当所述recycler view的滑动状态为惯性滑动状态时,在所述电子设备向所述第一应用上报所述recycler view的滑动状态为静止状态之前,还包括:
所述电子设备获取目标参数,所述目标参数包括所述第一应用的刷新帧率或所述电子设备的负载;
所述电子设备根据所述目标参数确定向所述第一应用上报所述recycler view的滑动状态为静止状态;
所述电子设备根据所述目标参数确定向所述第一应用上报所述recycler view的滑动状态为静止状态,包括:
当所述第一应用的刷新帧率小于帧率阈值时,所述电子设备确定向所述第一应用上报所述recycler view的滑动状态为静止状态;或者,
当所述电子设备的负载小于负载阈值时,所述电子设备确定向所述第一应用上报所述recycler view的滑动状态为静止状态。
2.根据权利要求1所述的方法,其特征在于,在所述电子设备向所述第一应用上报所述recycler view的滑动状态为静止状态之后,还包括:
所述电子设备增加所述第一应用运行时的计算资源、存储资源或网络资源中的至少一项。
3.根据权利要求1所述的方法,其特征在于,所述电子设备监测所述recycler view的滑动状态,包括:
当所述第一应用在预设的应用名单内时,所述电子设备监测所述recycler view的滑动状态。
4.根据权利要求1所述的方法,其特征在于,在所述电子设备接收用户对所述滚动控件输入的滑动操作之后,还包括:
所述电子设备中的视图组view group向所述recycler view发送与所述滑动操作对应的N个触摸事件,N为大于0的整数;
所述recycler view根据所述N个触摸事件确定所述recycler view的滑动状态,所述recycler view的滑动状态包括拖拽状态、惯性滑动状态以及静止状态;
当所述recycler view的滑动状态发生变化时,所述recycler view调用预设接口向所述第一应用上报最新的滑动状态。
5.根据权利要求4所述的方法,其特征在于,所述电子设备监测到所述recycler view的滑动状态为惯性滑动状态,包括:
当所述view group检测到向所述recycler view发送action up的触摸事件后,所述view group查询所述recycler view的滑动状态是否切换为惯性滑动状态。
6.根据权利要求4所述的方法,其特征在于,当监测到所述recycler view的滑动状态为惯性滑动状态时,所述电子设备向所述第一应用上报所述recycler view的滑动状态为静止状态,包括:
当所述view group监测到所述recycler view的滑动状态为惯性滑动状态时,所述view group调用所述预设接口向所述第一应用上报所述recycler view的滑动状态为静止状态。
7.根据权利要求5所述的方法,其特征在于,所述view group查询所述recycler view的滑动状态是否切换为惯性滑动状态,包括:
所述view group通过Java反射机制查询所述recycler view中是否将所述recyclerview的滑动状态是否切换为惯性滑动状态。
8.根据权利要求4所述的方法,其特征在于,在所述recycler view调用预设接口向所述第一应用上报最新的滑动状态之后,还包括:
当所述第一应用获取到所述recycler view的滑动状态为拖拽状态或静止状态时,所述第一应用开始从服务器中获取所述滚动控件中新条目的图片;
当所述第一应用获取到所述recycler view的滑动状态为惯性滑动状态时,所述第一应用停止从所述服务器中获取所述滚动控件中新条目的图片。
9.根据权利要求1所述的方法,其特征在于,当所述recycler view的滑动状态为静止状态时,还包括:
所述电子设备中的所述第一应用获取第一条目的文本信息,并将所述第一条目的文本信息显示在所述滚动控件中。
10.一种电子设备,其特征在于,包括:
触摸屏,所述触摸屏包括触摸传感器和显示屏;
一个或多个处理器;
存储器;
通信接口;
其中,所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1-9中任一项所述的一种显示方法。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的一种显示方法。
CN202110476238.1A 2021-04-29 2021-04-29 一种显示方法及电子设备 Active CN113391743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110476238.1A CN113391743B (zh) 2021-04-29 2021-04-29 一种显示方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110476238.1A CN113391743B (zh) 2021-04-29 2021-04-29 一种显示方法及电子设备

Publications (2)

Publication Number Publication Date
CN113391743A CN113391743A (zh) 2021-09-14
CN113391743B true CN113391743B (zh) 2022-05-20

Family

ID=77617845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110476238.1A Active CN113391743B (zh) 2021-04-29 2021-04-29 一种显示方法及电子设备

Country Status (1)

Country Link
CN (1) CN113391743B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145676B (zh) * 2022-09-05 2023-01-06 飞狐信息技术(天津)有限公司 一种信息交互方法及系统
CN116185245B (zh) * 2023-04-28 2023-09-26 荣耀终端有限公司 一种页面显示方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095200A (zh) * 2014-04-16 2015-11-25 北大方正集团有限公司 以瀑布流方式显示图片的方法和设备
CN110929197A (zh) * 2019-11-27 2020-03-27 杭州安恒信息技术股份有限公司 一种网页图片的预览加载方法和装置
CN111258736A (zh) * 2020-01-17 2020-06-09 北京无限光场科技有限公司 信息处理方法、装置和电子设备
CN112149039A (zh) * 2020-10-13 2020-12-29 四川长虹电器股份有限公司 一种提升前端网页加载速度的方法
CN112650546A (zh) * 2019-10-11 2021-04-13 华为技术有限公司 一种页面显示方法及穿戴设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100246A (ja) * 2007-10-17 2009-05-07 Hitachi Ltd 表示装置
CN104035668A (zh) * 2014-06-24 2014-09-10 广州金山网络科技有限公司 一种异步加载数据滑动性能的优化方法及系统、移动终端
CN108021416B (zh) * 2016-11-01 2020-04-28 华为技术有限公司 一种媒体资源加载的方法及终端
CN109669740A (zh) * 2018-09-25 2019-04-23 平安科技(深圳)有限公司 列表加载方法、装置、设备及计算机可读存储介质
CN109388317B (zh) * 2018-09-30 2022-04-12 武汉斗鱼网络科技有限公司 一种图片加载方法、终端设备及存储介质
CN111427504A (zh) * 2020-04-02 2020-07-17 北京达佳互联信息技术有限公司 内容获取方法、装置、电子设备及存储介质
CN112416231B (zh) * 2020-10-20 2022-05-24 华为技术有限公司 滚动条的显示方法、装置、电子设备和可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095200A (zh) * 2014-04-16 2015-11-25 北大方正集团有限公司 以瀑布流方式显示图片的方法和设备
CN112650546A (zh) * 2019-10-11 2021-04-13 华为技术有限公司 一种页面显示方法及穿戴设备
CN110929197A (zh) * 2019-11-27 2020-03-27 杭州安恒信息技术股份有限公司 一种网页图片的预览加载方法和装置
CN111258736A (zh) * 2020-01-17 2020-06-09 北京无限光场科技有限公司 信息处理方法、装置和电子设备
CN112149039A (zh) * 2020-10-13 2020-12-29 四川长虹电器股份有限公司 一种提升前端网页加载速度的方法

Also Published As

Publication number Publication date
CN113391743A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
US11450322B2 (en) Speech control method and electronic device
US11722449B2 (en) Notification message preview method and electronic device
EP4060475A1 (en) Multi-screen cooperation method and system, and electronic device
JP7268275B2 (ja) 着信があるときに電子デバイス上に映像を提示するための方法、および電子デバイス
CN113225423B (zh) 一种联系人的推荐方法及电子设备
US20230418444A1 (en) Notification Message Management Method and Electronic Device
CN111316199A (zh) 一种信息处理方法及电子设备
EP4152782A1 (en) Message pushing method and apparatus
CN113391743B (zh) 一种显示方法及电子设备
WO2022143883A1 (zh) 一种拍摄方法、系统及电子设备
CN113805797A (zh) 网络资源的处理方法、电子设备及计算机可读存储介质
EP4254927A1 (en) Photographing method and electronic device
CN114816200A (zh) 一种显示方法及电子设备
WO2021042881A1 (zh) 消息通知方法及电子设备
WO2023207667A1 (zh) 一种显示方法、汽车和电子设备
US20240168603A1 (en) Card Display Method, Electronic Device, and Computer-Readable Storage Medium
WO2023005711A1 (zh) 一种服务的推荐方法及电子设备
EP4365722A1 (en) Method for displaying dock bar in launcher and electronic device
WO2024012346A1 (zh) 任务迁移的方法、电子设备和系统
WO2022188632A1 (zh) 主题展示方法、装置、终端及计算机存储介质
CN115700431A (zh) 一种桌面的显示方法及电子设备
CN118069260A (zh) 控制屏幕显示的方法和电子设备
CN116301483A (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
GR01 Patent grant
GR01 Patent grant