CN111831280A - 基于全局单例WebView容器的混合开发方法 - Google Patents

基于全局单例WebView容器的混合开发方法 Download PDF

Info

Publication number
CN111831280A
CN111831280A CN202010473958.8A CN202010473958A CN111831280A CN 111831280 A CN111831280 A CN 111831280A CN 202010473958 A CN202010473958 A CN 202010473958A CN 111831280 A CN111831280 A CN 111831280A
Authority
CN
China
Prior art keywords
page
webview
webview container
global
event
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
CN202010473958.8A
Other languages
English (en)
Inventor
邓利文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dashu Jinke Network Technology Co ltd
Original Assignee
Dashu Jinke Network 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 Dashu Jinke Network Technology Co ltd filed Critical Dashu Jinke Network Technology Co ltd
Priority to CN202010473958.8A priority Critical patent/CN111831280A/zh
Publication of CN111831280A publication Critical patent/CN111831280A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Abstract

本发明涉及APP开发领域,具体涉及一种减少内存资源占用、提高响应速率的基于全局单例WebView容器的混合开发方法。本发明的基于全局单例WebView容器的混合开发方法,首先初始化一个全局单例WebView容器;监听页面跳转事件,并判断是否发生跳转事件,若未发生跳转事件,则结束;若发生跳转事件,则进一步判断是否跳转前端页面,若不跳转前端页面,则返回原生页面,继续监听页面跳转事件;若跳转前端页面,则页面装载全局单例WebView容器。比起现有技术当需要连续展示并跳转多个前端页面时,原生端需要创建多个WebView容器,而每创建一个WebView容器都会占用一定的内存,本发明每次页面跳转只需要装载全局单例WebView容器,无需建立多个WebView容器,大大减少了内存占用,提高了相应速率。

Description

基于全局单例WebView容器的混合开发方法
技术领域
本发明涉及APP开发领域,具体涉及一种减少内存资源占用、提高响应速率的基于全局单例WebView容器的混合开发方法。
背景技术
混合开发是指在移动端应用App中,使用内嵌的WebView容器浏览器作为容器来实现部分应用功能。目前移动端应用App混合开发模式中,主要通过原生端创建WebView容器,并在WebView容器中实现原生端与前端所约定的协议的方式来实现交互。原生端需要针对每一个跳转的前端页面创建一个对应的 WebView容器。当需要连续展示并跳转多个前端页面时,原生端需要创建多个 WebView容器,而每创建一个WebView容器都会占用一定的内存,当跳转过多, WebView容器数量过多时,会导致应用内存不足而出现卡顿问题。
发明内容
针对现有技术中的缺陷,本发明提供一种减少内存资源占用、提高响应速率的基于全局单例WebView容器的混合开发方法。
本发明采用的技术方案是:基于全局单例WebView容器的混合开发方法,包括以下步骤:
a、初始化全局单例WebView容器;
b、监听页面跳转事件;
c、判断是否发生跳转事件,若发生跳转事件,则执行步骤d;若未发生跳转事件,则跳转步骤f;
d、判断是否跳转前端页面,若不跳转,则返回原生页面,并执行步骤b,继续监听页面跳转事件;若跳转,则执行步骤e;
e、页面装载全局单例WebView容器;
f、结束。
为更好地实现本发明,所述的步骤a中,初始化全局单例WebView容器时,在WebView容器中实现全局单例WebView容器与前端交互相关的协议。
为更好地实现本发明,所述的协议包括页面跳转协议和页面销毁协议。
为更好地实现本发明,所述的步骤b中,监听页面跳转和销毁事件以及监听原生页面与页面跳转有关的事件。
为更好地实现本发明,所述的步骤b中,监听页面跳转事件采用基于IE 内核的浏览器监听方法。
为更好地实现本发明,所述的基于IE内核的浏览器监听方法的基本语法为:
dom对象.attachEvent(type,callback,capture):为元素绑定事件监听程序,
其中,type:绑定的事件类型;
callback:事件的处理程序;
capture:使用的浏览器模型。
为更好地实现本发明,所述的浏览器模型在IE7及IE7以下版本采用冒泡模型。
为更好地实现本发明,所述的浏览器模型在IE8及IE8版本以上采用捕获模型。
本发明的有益效果体现在:本发明的基于全局单例WebView容器的混合开发方法,首先初始化一个全局单例WebView容器;监听页面跳转事件,并判断是否发生跳转事件,若未发生跳转事件,则结束;若发生跳转事件,则进一步判断是否跳转前端页面,若不跳转前端页面,则返回原生页面,继续监听页面跳转事件;若跳转前端页面,则页面装载全局单例WebView容器。比起现有技术当需要连续展示并跳转多个前端页面时,原生端需要创建多个WebView容器,而每创建一个WebView容器都会占用一定的内存,本发明每次页面跳转只需要装载全局单例WebView容器,无需建立多个WebView容器,大大减少了内存占用,提高了相应速率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明的基于全局单例WebView容器的混合开发方法的一种流程框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
实施例1:
如图1所示,本发明的基于全局单例WebView容器的混合开发方法,包括以下步骤:
a、初始化全局单例WebView容器;
b、监听页面跳转事件;
c、判断是否发生跳转事件,若发生跳转事件,则执行步骤d;若未发生跳转事件,则跳转步骤f;
d、判断是否跳转前端页面,若不跳转,则返回原生页面,并执行步骤b,继续监听页面跳转事件;若跳转,则执行步骤e;
e、页面装载全局单例WebView容器;
f、结束。
本发明的基于全局单例WebView容器的混合开发方法,首先初始化一个全局单例WebView容器;监听页面跳转事件,并判断是否发生跳转事件,若未发生跳转事件,则结束;若发生跳转事件,则进一步判断是否跳转前端页面,若不跳转前端页面,则返回原生页面,继续监听页面跳转事件;若跳转前端页面,则页面装载全局单例WebView容器。比起现有技术当需要连续展示并跳转多个前端页面时,原生端需要创建多个WebView容器,而每创建一个WebView容器都会占用一定的内存,本发明每次页面跳转只需要装载全局单例WebView容器,无需建立多个WebView容器,大大减少了内存占用,提高了相应速率。
实施例2:
在上述实施例的基础上,为进一步更好地实施本发明,所述的步骤a中,初始化全局单例WebView容器时,在WebView容器中实现全局单例WebView容器与前端交互相关的协议。所述的协议包括页面跳转协议和页面销毁协议,以及其他相关协议。所述的步骤b中,主要监听页面跳转和销毁事件以及监听原生页面与页面跳转有关的事件。
实施例3:
在上述实施例的基础上,为进一步更好地实施本发明,所述的步骤b中,监听页面跳转事件采用基于IE内核的浏览器监听方法。所述的基于IE内核的浏览器监听方法的基本语法为:
dom对象.attachEvent(type,callback,capture):为元素绑定事件监听程序,
其中,type:绑定的事件类型;
callback:事件的处理程序;
capture:使用的浏览器模型。
实施例4:
在上述实施例的基础上,为进一步更好地实施本发明,所述的浏览器模型在IE7及IE7以下版本采用冒泡模型。所述的浏览器模型在IE8及IE8版本以上采用捕获模型。如果有两个元素元素1和元素2,元素2在元素1内部,我们附加一个事件处理程序,两个元素让我们说onClick。现在当我们点击元素2 时,将执行两个元素的eventHandler。如果首先执行附加了元素1的事件,则称为事件捕获,如果首先执行附加了元素2的事件,则称为事件冒泡。
作为一种优选的实施方式,首先,需要制定原生页面与前端页面交互的协议,必须包含页面跳转相关事件的协议,包括:跳转到新页面事件,销毁当前页面等事件。并且原生页面与前端页面均需要对协议中约定功能进行具体实现。其次,原生页面需要在应用启动时初始化一个全局的单例WebView容器以供跳转前端页面时在显视前端页面时使用。
最终,需要显示前端页面时,创建一个新的页面,并将初始化的全局单例 WebView容器装载到新页面上,完成显示。比起现有技术当需要连续展示并跳转多个前端页面时,原生端需要创建多个WebView容器,而每创建一个WebView容器都会占用一定的内存,本发明每次页面跳转只需要装载全局单例WebView容器,无需建立多个WebView容器,大大减少了内存占用,提高了相应速率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (8)

1.基于全局单例WebView容器的混合开发方法,其特征在于包括以下步骤:
a、初始化全局单例WebView容器;
b、监听页面跳转事件;
c、判断是否发生跳转事件,若发生跳转事件,则执行步骤d;若未发生跳转事件,则跳转步骤f;
d、判断是否跳转前端页面,若不跳转,则返回原生页面,并执行步骤b,继续监听页面跳转事件;若跳转,则执行步骤e;
e、页面装载全局单例WebView容器;
f、结束。
2.根据权利要求1所述的基于全局单例WebView容器的混合开发方法,其特征在于:所述的步骤a中,初始化全局单例WebView容器时,在WebView容器中实现全局单例WebView容器与前端交互相关的协议。
3.根据权利要求2所述的基于全局单例WebView容器的混合开发方法,其特征在于:所述的协议包括页面跳转协议和页面销毁协议。
4.根据权利要求1所述的基于全局单例WebView容器的混合开发方法,其特征在于:所述的步骤b中,监听页面跳转和销毁事件以及监听原生页面与页面跳转有关的事件。
5.根据权利要求1所述的基于全局单例WebView容器的混合开发方法,其特征在于:所述的步骤b中,监听页面跳转事件采用基于IE内核的浏览器监听方法。
6.根据权利要求5所述的基于全局单例WebView容器的混合开发方法,其特征在于:所述的基于IE内核的浏览器监听方法的基本语法为:
dom对象.attachEvent(type,callback,capture):为元素绑定事件监听程序,
其中,type:绑定的事件类型;
callback:事件的处理程序;
capture:使用的浏览器模型。
7.根据权利要求6所述的基于全局单例WebView容器的混合开发方法,其特征在于:所述的浏览器模型在IE7及IE7以下版本采用冒泡模型。
8.根据权利要求7所述的基于全局单例WebView容器的混合开发方法,其特征在于:所述的浏览器模型在IE8及IE8版本以上采用捕获模型。
CN202010473958.8A 2020-05-29 2020-05-29 基于全局单例WebView容器的混合开发方法 Pending CN111831280A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010473958.8A CN111831280A (zh) 2020-05-29 2020-05-29 基于全局单例WebView容器的混合开发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010473958.8A CN111831280A (zh) 2020-05-29 2020-05-29 基于全局单例WebView容器的混合开发方法

Publications (1)

Publication Number Publication Date
CN111831280A true CN111831280A (zh) 2020-10-27

Family

ID=72913472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010473958.8A Pending CN111831280A (zh) 2020-05-29 2020-05-29 基于全局单例WebView容器的混合开发方法

Country Status (1)

Country Link
CN (1) CN111831280A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250434A (zh) * 2016-07-26 2016-12-21 东软集团股份有限公司 加载网页的方法及装置
WO2018158588A1 (en) * 2017-03-02 2018-09-07 Interactive Fish Holdings Limited System and method for creating and using interactive web content
CN108829398A (zh) * 2018-03-27 2018-11-16 厦门欣旅通科技有限公司 一种移动端页面交互实现方法及装置
CN109634604A (zh) * 2018-11-30 2019-04-16 南京天溯自动化控制系统有限公司 基于混合开发的iOS页面跳转方法及其系统
CN109740090A (zh) * 2018-12-25 2019-05-10 南京天溯自动化控制系统有限公司 一种基于混合开发的android页面返回跳转方法及其系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250434A (zh) * 2016-07-26 2016-12-21 东软集团股份有限公司 加载网页的方法及装置
WO2018158588A1 (en) * 2017-03-02 2018-09-07 Interactive Fish Holdings Limited System and method for creating and using interactive web content
CN108829398A (zh) * 2018-03-27 2018-11-16 厦门欣旅通科技有限公司 一种移动端页面交互实现方法及装置
CN109634604A (zh) * 2018-11-30 2019-04-16 南京天溯自动化控制系统有限公司 基于混合开发的iOS页面跳转方法及其系统
CN109740090A (zh) * 2018-12-25 2019-05-10 南京天溯自动化控制系统有限公司 一种基于混合开发的android页面返回跳转方法及其系统

Similar Documents

Publication Publication Date Title
US20180357085A1 (en) Method and apparatus for running android application on windows system
CN106250434B (zh) 加载网页的方法及装置
US20190087212A1 (en) Android simulator and method for implementing android simulator
CN110442327B (zh) 一种应用程序构建方法、装置、服务器
US8677186B2 (en) Debugging in data parallel computations
CN110162344B (zh) 一种隔离限流的方法、装置、计算机设备及可读存储介质
CN108021405B (zh) 一种soc系统启动过程中存储介质的驱动方法和装置
JP2006164266A (ja) オペレーティングシステムのパフォーマンスの改善
CN109408208B (zh) 导航芯片的多任务处理方法、设备、系统以及存储介质
US8578368B2 (en) Injecting a file from the bios into an operating system
CN111831280A (zh) 基于全局单例WebView容器的混合开发方法
US20190087221A1 (en) Thread processor and thread processing method
CN110609680A (zh) 基于Spring拦截器的参数传递方法、装置、存储介质及设备
CN111399928A (zh) 应用程序的启动方法、装置、电子设备及可读存储介质
CN107704279B (zh) 一种数据加载方法以及装置
CN111708519A (zh) 一种业务组件的处理方法、装置、设备和存储介质
CN111130702B (zh) 解码方法、解码系统、电子设备和存储介质
CN111142972B (zh) 用于扩展应用程序的功能的方法、装置、系统及介质
CN113282363A (zh) 一种优化混合app的方法及装置
US5745768A (en) Computer program product and program storage device for supporting native and non-native signals transferred between processing entities of a computer program
US20150199200A1 (en) Replacement of Virtual Functions
CN103577177A (zh) 一种图形库调用方法和设备
US9910804B2 (en) Input/output method in virtual machine environments
KR20140039779A (ko) 안드로이드 운영 체제의 부팅 성능 향상 방법
CN110651253A (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