CN111314419B - 网络请求方法及装置 - Google Patents

网络请求方法及装置 Download PDF

Info

Publication number
CN111314419B
CN111314419B CN202010046579.0A CN202010046579A CN111314419B CN 111314419 B CN111314419 B CN 111314419B CN 202010046579 A CN202010046579 A CN 202010046579A CN 111314419 B CN111314419 B CN 111314419B
Authority
CN
China
Prior art keywords
network request
user interface
request
program
network
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
CN202010046579.0A
Other languages
English (en)
Other versions
CN111314419A (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.)
Guangzhou Kugou Computer Technology Co Ltd
Original Assignee
Guangzhou Kugou Computer Technology 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 Guangzhou Kugou Computer Technology Co Ltd filed Critical Guangzhou Kugou Computer Technology Co Ltd
Priority to CN202010046579.0A priority Critical patent/CN111314419B/zh
Publication of CN111314419A publication Critical patent/CN111314419A/zh
Application granted granted Critical
Publication of CN111314419B publication Critical patent/CN111314419B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开实施例提供了一种网络请求方法及装置,涉及程序设计领域。该方法应用于运行有由目标框架构建的用户界面的终端中,该方法包括:通过网络请求代理程序接收在用户界面上生成的网络请求消息,网络请求代理程序为通过原生代码编写的程序;通过网络请求代理程序建立与网络请求参数对应的网络请求;接收网络请求的反馈结果,并以反馈结果对用户界面进行更新显示。通过在终端中设置网络请求代理程序,当在用户界面上生成网络请求事件时,有网络请求代理程序代理目标框架创建并进行网络请求,避免了Flutter框架自行进行网络请求时会导致内存泄漏的问题,提高了网络请求的安全性,确保程序运行的速度,避免系统崩溃等后果。

Description

网络请求方法及装置
技术领域
本公开涉及程序设计领域,特别涉及一种网络请求方法及装置。
背景技术
Flutter是基于Dart语言开发的用于界面(User Interface,UI)框架,可以用构建在前端的用户界面。Flutter框架的中心思想是用组件构建UI,组件配置了显示状态的描述,当显示状态改变时,组件会重构描述,Flutter会对比前后的描述,并确定底层渲染树从当前显示状态转换到下一个显示状态的最小改变。
相关技术中,Flutter框架中可以使用网络请求的功能,如:超文本传输协议(HyperText Transfer Protocol,HTTP)网络请求、超文本传输安全协议(Hyper TextTransfer Protocol over SecureSocket Layer,HTTPS)网络请求等。
然而,使用Flutter框架进行HTTP网络请求时,会造成内存泄漏的问题,导致内存无法被释放,造成系统内存的浪费,从而导致程序运行速度减慢甚至系统崩溃等后果。
发明内容
本公开实施例提供了一种网络请求方法及装置,能够避免使用Flutter框架进行HTTP网络请求时,会造成内存泄漏的问题。所述技术方案如下:
根据本公开的一方面,提供了一种网络请求方法,应用于终端中,所述终端中运行有以目标框架构建的用户界面,所述终端中还包括网络请求代理程序,所述方法包括:
通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息,所述网络请求消息中包括网络请求参数,所述网络请求代理程序为通过原生代码编写的程序;
通过所述网络请求代理程序建立与所述网络请求参数对应的网络请求;
接收所述网络请求的反馈结果,并以所述反馈结果对所述用户界面进行更新显示。
在一个可选的实施例中,所述通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息之前,还包括:
对所述用户界面定义通信通道,所述通信通道用于在所述用户界面和所述网络请求代理程序之间建立通信关系;
在所述网络请求代理程序中注册所述通信通道。
在一个可选的实施例中,所述通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息,包括:
响应于在所述用户界面上生成网络请求事件,获取所述网络请求事件对应的所述网络请求消息;
将所述网络请求参数通过所述通信通道发送至所述网络请求代理程序。
在一个可选的实施例中,所述通过所述网络请求代理程序建立与所述网络请求参数对应的网络请求,包括:
调用所述网络请求代理程序的应用程序接口对所述网络请求参数进行处理,建立所述网络请求。
在一个可选的实施例中,所述网络请求参数中包括所述网络请求的请求地址、所述网络请求的请求方法、所述网络请求的请求参数、所述网络请求的请求头中的至少一种。
在一个可选的实施例中,所述接收所述网络请求的反馈结果,并以所述反馈结果对所述用户界面进行更新显示,包括:
通过所述网络请求代理程序拦截所述网络请求的所述反馈结果;
通过所述通信通道将所述反馈结果发送至所述用户界面进行更新显示。
在一个可选的实施例中,所述网络请求包括:超文本传输协议请求、超文本传输安全协议请求、传输控制协议请求、用户数据报协议请求、快速互联网连接协议请求中的任意一种。
在一个可选的实施例中,所述目标框架包括基于Dart语言开发的Flutter框架。
根据本公开的另一方面,提供了一种网络请求装置,应用于终端中,所述终端中运行有以目标框架构建的用户界面,所述终端中还包括网络请求代理程序,所述装置包括:
接收模块,用于通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息,所述网络请求消息中包括网络请求参数,所述网络请求代理程序为通过原生代码编写的程序;
建立模块,用于通过所述网络请求代理程序建立与所述网络请求参数对应的网络请求;
所述接收模块,还用于接收所述网络请求的反馈结果,并以所述反馈结果对所述用户界面进行更新显示。
在一个可选的实施例中,所述装置,还包括:
定义模块,用于对所述用户界面定义通信通道,所述通信通道用于在所述用户界面和所述网络请求代理程序之间建立通信关系;
注册模块,用于在所述网络请求代理程序中注册所述通信通道。
在一个可选的实施例中,所述接收模块,还用于响应于在所述用户界面上生成网络请求事件,获取所述网络请求事件对应的所述网络请求消息;
所述装置,还包括:
发送模块,用于将所述网络请求参数通过所述通信通道发送至所述网络请求代理程序。
在一个可选的实施例中,所述建立模块,还用于调用所述网络请求代理程序的应用程序接口对所述网络请求参数进行处理,建立所述网络请求。
在一个可选的实施例中,所述网络请求参数中包括所述网络请求的请求地址、所述网络请求的请求装置、所述网络请求的请求参数、所述网络请求的请求头中的至少一种。
在一个可选的实施例中,所述接收模块,还用于通过所述网络请求代理程序拦截所述网络请求的所述反馈结果;
所述装置,还包括:
发送模块,用于通过所述通信通道将所述反馈结果发送至所述用户界面进行更新显示。
在一个可选的实施例中,所述网络请求包括:超文本传输协议请求、超文本传输安全协议请求、传输控制协议请求、用户数据报协议请求、快速互联网连接协议请求中的任意一种。
在一个可选的实施例中,所述目标框架包括基于Dart语言开发的Flutter框架。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述本公开实施例中提供的网络请求方法。
另一方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述本公开实施例中提供的网络请求方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本公开实施例中提供的网络请求方法。
本公开实施例提供的技术方案的有益效果至少包括:
通过在终端中设置网络请求代理程序,当在用户界面上生成网络请求事件时,有网络请求代理程序代理目标框架创建并进行网络请求,避免了Flutter框架自行进行网络请求时会导致内存泄漏的问题,提高了网络请求的安全性,确保程序运行的速度,避免系统崩溃等后果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是本公开一个示例性实施例提供的实施环境示意图;
图2是本公开一个示例性实施例提供的网络请求方法的流程图;
图3是本公开另一个示例性实施例提供的网络请求方法的流程图;
图4是本公开一个示例性实施例提供的Flutter框架下网络请求过程的示意图;
图5是本公开一个示例性实施例提供的网络请求装置的结构框图;
图6是本公开另一个示例性实施例提供的网络请求装置的结构框图;
图7是本公开一个示例性实施例提供的终端的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先,对本公开实施例中涉及的名词进行简单介绍:
Flutter框架:是基于Dart语言开发的用于界面(User Interface,UI)框架,可以用构建在前端的用户界面。Flutter框架的中心思想是用组件构建UI,组件配置了显示状态的描述,当显示状态改变时,组件会重构描述,Flutter会对比前后的描述,并确定底层渲染树从当前显示状态转换到下一个显示状态的最小改变。
网络请求:是指用户在用户界面上生成的用于向网络发送请求以获取反馈结果的请求消息。可选地,网络请求可以是HTTP请求、HTTPS请求、传输控制协议(TransmissionControl Protocol,TCP)请求、用户数据报协议(User Datagram Protocol,UDP)请求、快速互联网连接协议(Quick UDP Internet Connection,QUIC)请求中的任意一种,可选地,该网络请求还可以实现为其他网络协议的请求,本公开实施例对此不加以限定。
其次,对本公开实施例涉及的实施环境进行说明,请参考图1,其示出了本公开一个示例性实施例提供的实施环境示意图,如图1所示,该实施环境中包括终端110、服务器120和通信网络130;
其中,终端110中运行有以目标框架构建的用户界面,可选地,本公开实施例中,以该目标框架为由Dart语言开发的Flutter框架为例进行说明,用户界面通过Flutter框架构建得到,可选地,终端110中还包括网络请求代理程序,当在用户界面上的生成网络请求消息时,通过Flutter框架将网络请求消息首先发送至网络请求代理程序,由网络请求代理程序构建网络请求,并通过通信网络130向服务器120发送网络请求。
服务器120用于接收终端110发送的网络请求,并通过通信网络130向终端110反馈请求结果,终端110接收到请求结果后,首先通过网络请求代理程序拦截该请求结果,然后将请求结果发送至用户界面,Flutter框架根据请求结果对用户界面进行更新显示。
可选地,上述终端110可以实现为手机、平板电脑、便携式膝上笔记本电脑、便携式可穿戴设备等移动终端,也可以实现为台式电脑、监控系统等终端设备,本公开实施例对此不加以限定。
上述服务器120可以实现为一台服务器,也可以实现为多台服务器组成的服务器集群,可以实现为物理服务器,也可以实现为云服务器,本公开实施例对此不加以限定。值得注意的是,上述服务器120也可以实现为另一终端,本公开实施例对此不加以限定。
结合上述名词简介和实施环境,对本公开提供的网络请求方法进行说明,以该方法应用于如图1所示的终端110中为例进行说明,如图2所示,该方法包括:
步骤201,通过网络请求代理程序接收在用户界面上生成的网络请求消息,网络请求消息中包括网络请求参数。
可选地,网络请求代理程序为通过原生代码编写的程序。可选地,网络请求代理程序为通过操作系统原生代码编写的程序,如:iOS操作系统、安卓(Android)系统、全球广域网(World Wide Web,WEB)页面或其他操作系统的原生代码,可选地,该网络请求代理程序为通过Objective-c语言、Java语言或JavaScript语言编写的程序。
可选地,网络请求消息为由用户在用户界面上触发操作时生成的消息,也可以是用户界面根据已设定的定时器生成的消息,还可以是用户界面根据自动显示的内容生成的消息,本公开实施例对此不加以限定。示意性的,以网络请求消息是由用户在用户界面上触发操作时生成的消息为例进行说明,如:用户在对用户界面进行浏览时,接收在用户界面上的刷新操作,根据刷新操作生成网络请求消息,该网络请求消息用于请求获取刷新后的显示内容;以网络请求消息是根据已设定的定时器生成的消息为例进行说明,如:用户界面中设定有定时器,每隔预设时长从服务器中获取数据进行更新显示,则当定时时长达到预设时长时,生成网络请求消息,该网络请求消息用于请求获取刷新后的数据;以网络请求消息是根据自动显示的内容生成的消息为例进行说明,如:用户界面中当前播放有视频A,视频A的下一个播放视频为视频B,当视频A播放完毕后,生成网络请求消息,该网络请求消息用于请求获取视频B对应的视频数据。
可选地,网络请求消息还可以是根据其他在用户界面上触发的事件生成的消息,本公开实施例对此不加以限定。
可选地,用户界面为以目标框架构建的界面,本公开实施例中,以目标框架实现为Dart语言编写的Flutter框架为例进行说明,也即用户界面为Flutter框架构建的界面,通过Flutter框架以组件(widget)的方式构建得到用户界面。
步骤202,通过网络请求代理程序建立与网络请求参数对应的网络请求。
可选地,调用网络请求代理程序的应用程序接口(Application ProgrammingInterface,API)对网络请求参数进行处理,建立网络请求。可选地,网络请求代理程序中针对不同的网络请求消息设置有对应的代理功能,可选地,针对不同的网络请求协议,对应设置不同的代理功能。当网络请求代理程序接收到网络请求消息时,首先对网络请求消息中的网络请求参数进行处理,并调用与网络请求协议对应的API建立网络请求,将网络请求发送至对应的服务器或其他终端。
可选地,网络请求参数包括网络请求的请求地址、网络请求的请求方法、网络请求的请求参数、网络请求的请求头中的至少一种。
其中,请求地址用于确定网络请求的接收方;请求方法用于指示网络请求所需要进行的处理方法,如:HTTP请求或HTTPS请求中的获取GET方法、发布POST方法、推送PUT方法、删除DELETE方法、连接CONNECT方法、路径追踪TRACE方法以及选择OPTIONS方法等;请求参数用于指示网络请求的各配置参数;请求头主要用于配置一些特殊字段,示意性的,HTTP请求的请求头中可以包括指示请求方法的字段。
步骤203,接收网络请求的反馈结果,并以反馈结果对用户界面进行更新显示。
可选地,在终端接收网络请求的反馈结果时,首先通过网络请求代理程序拦截网络请求的反馈结果,并由网络请求代理程序对拦截的反馈结果进行处理后,将反馈结果发送至用户界面进行更新显示。
综上所述,本实施例提供的网络请求方法,通过在终端中设置网络请求代理程序,当在用户界面上生成网络请求事件时,有网络请求代理程序代理目标框架创建并进行网络请求,避免了Flutter框架自行进行网络请求时会导致内存泄漏的问题,提高了网络请求的安全性,确保程序运行的速度,避免系统崩溃等后果。
在一个可选的实施例中,首先对网络请求代理程序与目标框架之间的通信桥梁进行构建后,目标框架才能通过网络请求代理程序进行网络请求的代理,图3是本公开另一个示例性实施例提供的网络请求方法的流程图,以该方法应用于如图1所示的终端110中为例进行说明,如图3所示,该方法包括:
步骤301,对用户界面定义通信通道。
可选地,通信通道用于在用户界面和网络请求代理程序之间建立通信关系。可选地,在用户界面的代码逻辑中定义通信通道,可选地,在用户界面的代码逻辑中定义通信方法,该通信方法用于与网络请求代理程序之间进行通信。示意性的,在用户界面的代码逻辑中定义MethodChannel方法,该方法的命名方式仅为示意性的举例,该方法还可以命名为其他任意字符串,本公开实施例对此不加以限定。可选地,以目标框架实现为Flutter框架为例,Flutter框架能够通过MethodChannel方法给网络请求代理程序发送消息,如:网络请求消息。
Flutter框架开发中可定义任意固定字符作为与网络请求代理程序进行通信的键值,可选地,针对不同的用户界面能够定义多个不同的键值实现通信。
步骤302,在网络请求代理程序中注册通信通道。
可选地,对用户界面定义通信通道后,还需要在网络请求代理程序中注册该通信通道。可选地,以上述MethodChannel方法为例,当用户界面上定义有MethodChannel方法后,在网络请求代理程序中注册该MethodChannel方法。
步骤303,响应于在用户界面上生成网络请求事件,获取网络请求事件对应的网络请求消息。
可选地,网络请求事件可以是用户在用户界面上触发操作的事件,也即网络请求消息可以是由用户在用户界面上触发操作时生成的消息;或,网络请求事件也可以是已设定的定时器达到定时时长的事件,也即网络请求消息可以是用户界面根据已设定的定时器生成的消息;或,网络请求事件还可以是用户界面内的显示内容自动更新的事件,也即网络请求消息可以是用户界面根据自动显示的内容生成的消息,本公开实施例对此不加以限定。
可选地,网络请求消息中包括网络请求参数,网络请求参数包括网络请求的请求地址、网络请求的请求方法、网络请求的请求参数、网络请求的请求头中的至少一种。
可选地,网络请求代理程序为通过原生代码编写的程序。可选地,网络请求代理程序为通过操作系统原生代码编写的程序,如:iOS操作系统、Android系统、WEB页面或其他操作系统的原生代码,可按的,该网络请求代理程序为通过Objective-c语言、Java语言或JavaScript语言编写的程序。
步骤304,将网络请求参数通过通信通道发送至网络请求代理程序。
可选地,通过上述MethodChannel方法将网络请求参数发送至网络请求代理程序。
可选地,网络请求代理程序注册MethodChannel后,用户界面在需要使用网络请求时,以请求HTTP为例,将请求地址、请求方法、请求参数、请求头等信息作为参数传递至网络请求代理程序。
步骤305,通过网络请求代理程序建立与网络请求参数对应的网络请求。
可选地,调用网络请求代理程序的应用程序接口API对网络请求参数进行处理,建立网络请求。可选地,网络请求代理程序中针对不同的网络请求消息设置有对应的代理功能,可选地,针对不同的网络请求协议,对应设置不同的代理功能。当网络请求代理程序接收到网络请求消息时,首先对网络请求消息中的网络请求参数进行处理,并调用与网络请求协议对应的API建立网络请求,将网络请求发送至对应的服务器或其他终端。
步骤306,通过网络请求代理程序拦截网络请求的反馈结果。
可选地,网络请求完结后,通过网络请求代理程序对反馈结果进行过滤或者拦截处理,由网络请求代理程序对反馈结果进行接收并解析后,将解析后的反馈结果发送至用户界面进行更新显示。
步骤307,通过通信通道将反馈结果发送至用户界面进行更新显示。
可选地,网络请求代理程序拦截到反馈结果后,通过MethodChannel将反馈结果发送至用户界面,用户界面根据反馈结果确定更新后的显示状态,并将更新后的显示状态与当前显示状态进行比对,从而确定更新显示的最小改变。
综上所述,本实施例提供的网络请求方法,通过在终端中设置网络请求代理程序,当在用户界面上生成网络请求事件时,有网络请求代理程序代理目标框架创建并进行网络请求,避免了Flutter框架自行进行网络请求时会导致内存泄漏的问题,提高了网络请求的安全性,确保程序运行的速度,避免系统崩溃等后果。
本实施例提供的方法,通过对用户界面定义通信通道,并在网络请求代理程序中注册通信通道,从而在用户界面和网络请求代理程序之间能够实现通信,也即用户界面能够将网络请求消息发送至网络请求代理程序,并由网络请求代理程序代理发送网络请求,避免了Flutter框架自行进行网络请求时会导致内存泄漏的问题,提高了网络请求的安全性,确保程序运行的速度,避免系统崩溃等后果。
示意性的,图4是本公开一个示例性实施例提供的网络请求过程的示意图,以Flutter框架和原生代码编写的网络请求代理程序为例,该网络请求过程中涉及Flutter框架410和网络请求代理程序420;
在Flutter框架410侧,以Flutter框架410编写Flutter页面411,并针对Flutter页面411定义MethodChannel412,MethodChannel412用于在Flutter页面411和网络请求代理程序420之间进行通信,而对应Flutter页面411定义的MethodChannel412,在网络请求代理程序420中注册MethodChannel421。
当Flutter页面411中生成网络请求事件时,Flutter页面411向网络请求代理程序420发送网络请求消息413,网络请求代理程序420接收网络请求消息422,并调用原生网络请求功能423建立网络请求。可选地,网络请求可以是HTTP请求、HTTPS请求或其他自定义请求,本公开实施例对此不加以限定。网络请求反馈内容424至网络请求代理程序420,有网络请求代理程序420对反馈内容424进行初步处理(如:拦截、过滤等)后,将结果返回至Flutter页面411进行更新展示414。
图5是本公开一个示例性实施例提供的网络请求装置的结构框图,以该装置应用于终端中为例进行说明,该终端中运行有以目标框架构建的用户界面,所述终端中还包括网络请求代理程序,所述装置包括:接收模块510和建立模块520;
接收模块510,用于通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息,所述网络请求消息中包括网络请求参数,所述网络请求代理程序为通过原生代码编写的程序;
建立模块520,用于通过所述网络请求代理程序建立与所述网络请求参数对应的网络请求;
所述接收模块510,还用于接收所述网络请求的反馈结果,并以所述反馈结果对所述用户界面进行更新显示。
在一个可选的实施例中,如图6所示,所述装置,还包括:
定义模块530,用于对所述用户界面定义通信通道,所述通信通道用于在所述用户界面和所述网络请求代理程序之间建立通信关系;
注册模块540,用于在所述网络请求代理程序中注册所述通信通道。
在一个可选的实施例中,所述接收模块510,还用于响应于在所述用户界面上生成网络请求事件,获取所述网络请求事件对应的所述网络请求消息;
所述装置,还包括:
发送模块550,用于将所述网络请求参数通过所述通信通道发送至所述网络请求代理程序。
在一个可选的实施例中,所述建立模块520,还用于调用所述网络请求代理程序的应用程序接口对所述网络请求参数进行处理,建立所述网络请求。
在一个可选的实施例中,所述网络请求参数中包括所述网络请求的请求地址、所述网络请求的请求装置、所述网络请求的请求参数、所述网络请求的请求头中的至少一种。
在一个可选的实施例中,所述接收模块510,还用于通过所述网络请求代理程序拦截所述网络请求的所述反馈结果;
所述装置,还包括:
发送模块550,用于通过所述通信通道将所述反馈结果发送至所述用户界面进行更新显示。
在一个可选的实施例中,所述网络请求包括:超文本传输协议请求、超文本传输安全协议请求、传输控制协议请求、用户数据报协议请求、快速互联网连接协议请求中的任意一种。
在一个可选的实施例中,所述目标框架包括基于Dart语言开发的Flutter框架。
综上所述,本实施例提供的网络请求装置,通过在终端中设置网络请求代理程序,当在用户界面上生成网络请求事件时,有网络请求代理程序代理目标框架创建并进行网络请求,避免了Flutter框架自行进行网络请求时会导致内存泄漏的问题,提高了网络请求的安全性,确保程序运行的速度,避免系统崩溃等后果。
需要说明的是:上述实施例提供的网络请求装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络请求装置与网络请求方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是根据一示例性实施例示出的一种计算机设备700的框图。例如,计算机设备700可以是上文介绍的终端。例如,终端可以是手机、平板电脑、电子书阅读器、多媒体播放设备、个人计算机(Personal Computer,PC)、可穿戴设备等电子设备。
参照图7,计算机设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(Input/Output,I/O)接口712,传感器组件714,以及通信组件716。
处理组件702通常控制计算机设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在计算机设备700的操作。这些数据的示例包括用于在计算机设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable Read Only Memory,PROM),只读存储器(Read OnlyMemory,ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为计算机设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为计算机设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述计算机设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括有机发光二极管(Organic Light-Emitting Diode,OLED)显示屏和触摸面板(TouchPad,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当计算机设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(Microphone,MIC),当计算机设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为计算机设备700提供各个方面的状态评估。例如,传感器组件714可以检测到计算机设备700的打开/关闭状态,组件的相对定位,例如所述组件为计算机设备700的显示器和小键盘,传感器组件714还可以检测计算机设备700或计算机设备700一个组件的位置改变,用户与计算机设备700接触的存在或不存在,计算机设备700方位或加速/减速和计算机设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如互补金属氧化物半导体(Complementary Metal OxideSemiconductor,CMOS)或电荷耦合元件(Charge-coupled Device,CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于计算机设备700和其他设备之间有线或无线方式的通信。计算机设备700可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(Near FieldCommunication,NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RadioFrequency Identification,RFID)技术,红外数据协会(Infrared Data Association,IrDA)技术,超宽带(Ultra Wide Band,UWB)技术,蓝牙(BlueTooth,BT)技术和其他技术来实现。
在示例性实施例中,计算机设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(Digital Signal Processing Device,DSPD)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field ProgrammableGate Array,FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述网络请求方法。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,当所述计算机程序由计算机设备700的处理器执行时,使得计算机设备700能够实现上述网络请求方法。例如,所述非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random-Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本公开实施例还提供一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并实现上述网络请求方法。
本公开实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述网络请求方法。
本公开还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的网络请求方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种网络请求方法,其特征在于,应用于终端中,所述终端中运行有以目标框架构建的用户界面,所述终端中还包括网络请求代理程序,所述方法包括:
通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息,所述网络请求消息中包括网络请求参数,所述网络请求代理程序为通过原生代码编写的程序,所述网络请求代理程序中针对不同的网络请求消息设置有对应的代理功能;
通过所述网络请求代理程序建立与所述网络请求参数对应的网络请求;
接收所述网络请求的反馈结果,并以所述反馈结果对所述用户界面进行更新显示。
2.根据权利要求1所述的方法,其特征在于,所述通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息之前,还包括:
对所述用户界面定义通信通道,所述通信通道用于在所述用户界面和所述网络请求代理程序之间建立通信关系;
在所述网络请求代理程序中注册所述通信通道。
3.根据权利要求2所述的方法,其特征在于,所述通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息,包括:
响应于在所述用户界面上生成网络请求事件,获取所述网络请求事件对应的所述网络请求消息;
将所述网络请求参数通过所述通信通道发送至所述网络请求代理程序。
4.根据权利要求1至3任一所述的方法,其特征在于,所述通过所述网络请求代理程序建立与所述网络请求参数对应的网络请求,包括:
调用所述网络请求代理程序的应用程序接口对所述网络请求参数进行处理,建立所述网络请求。
5.根据权利要求4所述的方法,其特征在于,所述网络请求参数中包括所述网络请求的请求地址、所述网络请求的请求方法、所述网络请求的请求参数、所述网络请求的请求头中的至少一种。
6.根据权利要求2或3所述的方法,其特征在于,所述接收所述网络请求的反馈结果,并以所述反馈结果对所述用户界面进行更新显示,包括:
通过所述网络请求代理程序拦截所述网络请求的所述反馈结果;
通过所述通信通道将所述反馈结果发送至所述用户界面进行更新显示。
7.根据权利要求1至3任一所述的方法,其特征在于,所述网络请求包括:超文本传输协议请求、超文本传输安全协议请求、传输控制协议请求、用户数据报协议请求、快速互联网连接协议请求中的任意一种。
8.根据权利要求1至3任一所述的方法,其特征在于,所述目标框架包括基于Dart语言开发的Flutter框架。
9.一种网络请求装置,其特征在于,应用于终端中,所述终端中运行有以目标框架构建的用户界面,所述终端中还包括网络请求代理程序,所述装置包括:
接收模块,用于通过所述网络请求代理程序接收在所述用户界面上生成的网络请求消息,所述网络请求消息中包括网络请求参数,所述网络请求代理程序为通过原生代码编写的程序,所述网络请求代理程序中针对不同的网络请求消息设置有对应的代理功能;
建立模块,用于通过所述网络请求代理程序建立与所述网络请求参数对应的网络请求;
所述接收模块,还用于接收所述网络请求的反馈结果,并以所述反馈结果对所述用户界面进行更新显示。
10.根据权利要求9所述的装置,其特征在于,所述装置,还包括:
定义模块,用于对所述用户界面定义通信通道,所述通信通道用于在所述用户界面和所述网络请求代理程序之间建立通信关系;
注册模块,用于在所述网络请求代理程序中注册所述通信通道。
CN202010046579.0A 2020-01-16 2020-01-16 网络请求方法及装置 Active CN111314419B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010046579.0A CN111314419B (zh) 2020-01-16 2020-01-16 网络请求方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010046579.0A CN111314419B (zh) 2020-01-16 2020-01-16 网络请求方法及装置

Publications (2)

Publication Number Publication Date
CN111314419A CN111314419A (zh) 2020-06-19
CN111314419B true CN111314419B (zh) 2023-01-10

Family

ID=71146750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010046579.0A Active CN111314419B (zh) 2020-01-16 2020-01-16 网络请求方法及装置

Country Status (1)

Country Link
CN (1) CN111314419B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383617B (zh) * 2020-11-12 2024-05-24 百度在线网络技术(北京)有限公司 进行长连接的方法、装置、终端设备以及介质
CN113765740B (zh) * 2021-08-03 2022-12-20 网宿科技股份有限公司 一种对Dio网络请求进行监控的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132405A (zh) * 2006-08-21 2008-02-27 华为技术有限公司 提供业务代理功能的通信网络系统和方法及业务代理装置
CN103202007A (zh) * 2010-09-21 2013-07-10 海德沃特合作I有限公司 向具有装置上服务选择的装置代理发布的服务提供设置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192346A (ja) * 2002-12-11 2004-07-08 Seiko Epson Corp メモリ管理装置、プロキシサーバ、ブラウザ端末、メモリ管理プログラム、サーバ用プログラム、端末用プログラム及び監視プログラム、並びにメモリ管理方法
CN102932390B (zh) * 2011-08-11 2015-07-08 阿里巴巴集团控股有限公司 一种网络请求的处理方法和系统、网络服务提供装置
CN107395724B (zh) * 2017-07-24 2021-08-17 北京小米移动软件有限公司 网络请求方法及装置
CN109889468B (zh) * 2017-12-06 2022-06-14 腾讯科技(武汉)有限公司 网络数据的传输方法、系统、装置、设备及存储介质
GB2563497B (en) * 2018-05-18 2019-10-09 Qip Solutions Ltd Data filtering
CN110162305A (zh) * 2019-05-31 2019-08-23 广州华多网络科技有限公司 一种配置活动界面的方法及客户端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132405A (zh) * 2006-08-21 2008-02-27 华为技术有限公司 提供业务代理功能的通信网络系统和方法及业务代理装置
CN103202007A (zh) * 2010-09-21 2013-07-10 海德沃特合作I有限公司 向具有装置上服务选择的装置代理发布的服务提供设置

Also Published As

Publication number Publication date
CN111314419A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
US10949490B2 (en) Method and apparatus for displaying webpage content
EP2998899A1 (en) Method and apparatus for running application program
US9870239B2 (en) Method and device for running application program
CN107526591B (zh) 切换直播间类型的方法和装置
CN107220059B (zh) 应用界面的显示方法及装置
CN110839073A (zh) 获取推送信息的方法、发送推送信息的方法及装置
EP3553672A1 (en) Information interaction method and device and computer readable storage medium thereof
CN111314419B (zh) 网络请求方法及装置
CN107423146B (zh) 控制应用程序相互调用的方法、装置及系统
CN107463372B (zh) 一种数据驱动的页面更新方法和装置
CN105808304B (zh) 代码部署方法、装置及系统
CN111222014A (zh) 请求处理方法、装置、电子设备及存储介质
CN105653320B (zh) 加载图标的显示方法及装置
CN110704030A (zh) 接口配置信息生成方法、装置、电子设备及存储介质
CN111782997A (zh) 加载网页的方法及装置、存储介质
CN110865864A (zh) 快应用的界面显示方法、装置、设备及存储介质
CN112733058B (zh) 数据处理系统、方法、装置、电子设备及存储介质
CN115278273A (zh) 一种资源展示方法、装置、电子设备及存储介质
CN108958943B (zh) 内存释放方法及装置
CN112860625A (zh) 数据获取方法、数据存储方法、装置、设备及存储介质
CN109032583B (zh) 数据交互方法及装置
JP2018503149A (ja) 情報入力方法、装置、プログラム及び記録媒体
CN114385373A (zh) 数据分享方法、数据分享装置以及计算机可读存储介质
CN107391128B (zh) 监控虚拟文件对象模型vdom的方法和装置
CN115373763B (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