【技术实现步骤摘要】
页面管理方法、装置、存储介质及电子设备
本申请涉及混合页面管理技术,特别是涉及一种页面管理方法、装置、存储介质及电子设备。
技术介绍
Flutter技术是Google公司推出的全新跨平台移动用户界面框架,可以在安卓(Android)和iOS系统中运行同一套用户界面代码,节省应用开发成本。在已上线的Android或iOS应用程序内引入Flutter技术实现的用户界面,需要面临原生页面(Native页面)与Flutter页面的混合页面管理问题。目前主流的混合页面管理方法主要包括单容器方案与多容器方案,然而仅采用多容器方案会产生较大的内存消耗;仅采用单容器方案会产生原生页面栈管理乱序的问题。
技术实现思路
有鉴于此,本申请的主要目的在于提供一种页面管理方法,该方法可以在方便进行混合页面管理的同时,实现尽可能小的内存消耗。为了达到上述目的,本申请提出的技术方案为:第一方面,本申请实施例提供了一种页面管理方法,包括以下步骤:获取打开页面指令,并在获取到所述打开页面指令时,获取所述打开 ...
【技术保护点】
1.一种页面管理方法,其特征在于,包括:/n获取打开页面指令,并在当获取到所述打开页面指令时,获取所述打开页面指令所要打开页面的页面类型;所述页面类型包括Flutter页面和原生页面;/n当所述页面类型为所述Flutter页面时,判断上一个打开页面的页面类型是否是所述Flutter页面;/n当上一个打开页面的页面类型不是所述Flutter页面时,创建Flutter容器,并在所述Flutter容器中创建第一Flutter页面栈;/n将所述打开页面指令所要打开的所述Flutter页面加入所述第一Flutter页面栈,并将所述Flutter容器加入原生页面栈。/n
【技术特征摘要】
1.一种页面管理方法,其特征在于,包括:
获取打开页面指令,并在当获取到所述打开页面指令时,获取所述打开页面指令所要打开页面的页面类型;所述页面类型包括Flutter页面和原生页面;
当所述页面类型为所述Flutter页面时,判断上一个打开页面的页面类型是否是所述Flutter页面;
当上一个打开页面的页面类型不是所述Flutter页面时,创建Flutter容器,并在所述Flutter容器中创建第一Flutter页面栈;
将所述打开页面指令所要打开的所述Flutter页面加入所述第一Flutter页面栈,并将所述Flutter容器加入原生页面栈。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当上一个打开页面的页面类型是所述Flutter页面时,将所述打开页面指令所要打开的所述Flutter页面加入第二Flutter页面栈;所述第二Flutter页面栈位于原生页面栈的栈顶的Flutter容器中。
3.根据权利要求1所述的方法,其特征在于,所述获取所述打开页面指令所要打开页面的页面类型的步骤之后,所述方法还包括:
当所述页面类型为所述原生页面时,将所述打开页面指令所要打开的所述原生页面加入所述原生页面栈。
4.一种页面管理方法,其特征在于,包括:
获取关闭页面指令,并在获取到所述关闭页面指令时,获取所述关闭页面指令所要关闭页面的页面类型;所述页面类型包括Flutter页面和原生页面;
当所述页面类型为所述Flutter页面时,判断所述关闭页面指令所要关闭页面所处的第三Flutter页面栈内的页面数量是否大于1;
当所述第三Flutter页面栈内的页面数量不大于1时,清空所述第三Flutter页面栈;
将存放所述第三Flutter页面栈的Flutter容器从原生页面栈的栈顶移除,并销毁所述Flutter容器。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述第三Flutter页面栈内的页面数量大于1时,从所述第三Flutter页面栈的栈顶移除所述关闭页面指令所要关闭的所述Flutter页面。
6.根据权利要求4所述的方法,其...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。