CN112685096A - 场景切换控制方法、装置、设备及介质 - Google Patents
场景切换控制方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112685096A CN112685096A CN202011572965.XA CN202011572965A CN112685096A CN 112685096 A CN112685096 A CN 112685096A CN 202011572965 A CN202011572965 A CN 202011572965A CN 112685096 A CN112685096 A CN 112685096A
- Authority
- CN
- China
- Prior art keywords
- interface
- scene
- activity
- dimensional
- dimensional 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000000694 effects Effects 0.000 claims abstract description 138
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 8
- 230000007246 mechanism Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000004204 blood vessel Anatomy 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种场景切换控制方法、装置、设备及介质,该方法通过在已加载第一活动界面之后,响应于加载第二活动界面的操作,移除第一活动界面包含的多个三维场景中的第一三维场景;加载第二活动界面,在第二活动界面中加载第一三维场景;在第二活动界面中,利用多个三维场景中的第二三维场景替换第一三维场景,该多个三维场景是导入安卓开发项目的场景开发项目提供的,第一活动界面和第二活动界面是由安卓开发项目开发得到的。本申请实施例提供的技术方案,通过移除‑添加‑切换的处理机制实现多个三维场景的切换,提高了页面加载的速度,从而克服了场景切换过程中的闪退、黑屏等问题。
Description
技术领域
本申请涉及软件开发技术领域,尤其涉及场景切换控制方法、装置、设备及介质。
背景技术
在软件开发过程,通常针对终端应用程序是基于安卓项目进行开发,但是随着游戏领域的发展,在开发的交互页面需要插入一些动感较强的三维图像,提升交互页面的可视性。例如,利用Unity项目开发三维图像作为场景填充都安卓项目开发的交互页面中。
但是在基于Unity项目和安卓项目进行混合开发时,安卓项目的activity的加载不够流畅,且有时会存在黑屏或闪退的问题。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种场景切换控制方法、装置、设备及介质,来解决场景切换存在的上述问题。
一方面,本申请实施例提供了一种场景切换控制方法,该方法包括:在已加载第一活动界面之后,响应于加载第二活动界面的操作,移除所述第一活动界面包含的第一三维场景;
加载所述第二活动界面,在所述第二活动界面中加载所述第一三维场景;
在所述第二活动界面中,利用多个三维场景中的第二三维场景替换所述第一三维场景,所述多个三维场景是预先导入安卓开发项目的场景开发项目提供的,所述第一活动界面和所述第二活动界面是由所述安卓开发项目开发得到的。
一方面,本申请实施例提供了一种场景切换控制装置,该装置包括:
场景移除模块,用于在已加载第一活动界面之后,响应于加载第二活动界面的操作,移除所述第一活动界面包含的第一三维场景;
加载替换模块,用于加载所述第二活动界面,在所述第二活动界面中加载所述第一三维场景;在所述第二活动界面中,利用多个三维场景中的第二三维场景替换所述第一三维场景,所述多个三维场景是预先导入安卓开发项目的场景开发项目提供的,所述第一活动界面和所述第二活动界面是由所述安卓开发项目开发得到的。
一方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行所述程序时实现如本申请实施例描述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于实现本申请实施例描述的方法。
本申请实施例提供了一种场景切换控制方法、装置、设备及介质,该方法通过在已加载第一活动界面之后,响应于加载第二活动界面的操作,移除第一活动界面包含的第一三维场景;加载第二活动界面,在第二活动界面中加载第一三维场景;在第二活动界面中,利用多个三维场景中的第二三维场景替换第一三维场景,该多个三维场景是预先导入安卓开发项目的场景开发项目提供的,第一活动界面和第二活动界面是由安卓开发项目开发得到的。本申请实施例通过移除-添加-切换的处理机制实现多个三维场景的切换,提高了页面加载的速度,从而克服了场景切换过程中的闪退、黑屏等问题。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了本申请实施例提出的场景切换控制的流程示意图;
图2示出了本申请实施例提供的又一场景切换控制方法的流程示意图;
图3示出了本申请实施例提供的界面切换的示意图;
图4示出了本申请实施例提供的场景切换控制装置的结构示意图;
图5示出了本申请实施例提供的电子设备的处理系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关公开,而非对该公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与公开相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
在相关技术中,安卓开发项目例如可以是Android Studio原生项目,其可以将Unity项目以Android Studio形式导出。Android Studio将Unity项目以module的形式导入,然后修改Unity项目的build.gradle文件和AndroidManifest.xml文件,最后AndroidStudio原生项目通过module方式调用unity项目。
在上述Unity项目与安卓开发项目进行混合开发时,需要通过Unity项目的接口类,例如UnityPlayerActivity类实现Unity项目与安卓开发项目之间的交互。Unity项目用于向安卓开发项目开发的活动界面提供填充内容,可以称为场景。在Unity项目开发了多个场景之后,将开发的多个场景导入安卓开发项目中。安卓开发项目提供的活动界面可以调用Unity项目开发的多个场景,例如,当在活动界面中需要进行场景切换时,可能在某些机型上会存在卡顿或者黑屏等问题,如果利用Unity项目提供的默认的接口类强行执行单一方法,则可能又会存在白屏或者闪退问题。
本申请为了解决该问题,提出了一种场景切换控制方法,期望解决在活动界面调用Unity项目开发的多个场景进行切换时存在的卡顿或黑屏问题。
下面请参考图1,图1示出了本申请实施例提出的场景切换控制方法的流程示意图。如图1所示,该方法可以由场景切换控制装置执行,该场景切换控制装置可以预先配置在电子设备中。该方法包括:
步骤102,在已加载第一活动界面之后,响应于加载第二活动界面的操作,移除第一活动界面包含的第一三维场景。
步骤103,加载第二活动界面,在第二活动界面中加载第一三维场景;
步骤104,在第二活动界面中,利用多个三维场景中的第二三维场景替换第一三维场景。
在上述步骤中,多个三维场景是预先导入安卓开发项目的场景开发项目提供的。
场景开发项目是指用于开发安卓开发项目需要的场景的工具。其用于向安卓开发项目开发的活动界面提供各种场景。例如Unity项目,利用Unity项目可以根据活动界面的需求开发多个三维场景,即3D场景。该三维场景可以是基于相同的活动界面开发的不同的三维场景,也可以是基于不同的活动界面开发的不同的三维场景。
安卓开发项目是用于实现客户端开发的工具。客户端包括但不限于电子设备中预先安装的应用程序(英文全称Application,英文缩写APP)。
场景是指在活动界面中展示的三维图像数据。如图3所示,图3左侧示出的人体图像为第一三维场景,图3右上角示出的心脏图像为第二三维场景,图3右下角示出的血管图像为第三三维场景。在本申请实施例中,可以快速地实现从包含第一三维场景的活动界面(即图3中左侧展示的界面图像)切换至包含第二三场景的活动界面(即图3中右上角展示的界面图像),或者,从包含第一三维场景的活动界面(即图3中左侧展示的界面图像)切换至包含第三三维场景的活动界面(即图3中右下角展示的界面图像)。在图3中的活动界面可以理解为不同的活动界面。这些活动界面都是由安卓开发项目开发得到的。
在上述步骤中,可以将安卓开发项目添加到场景开发项目。添加方式包括但不限于将安卓开发项目编译得到的jar文件以插件形式放入到场景开发项目中。场景开发项目需要将整个已开发项目创建成apk文件,安装到移动终端或者模拟器里运行。
也可以将场景开发项目添加到安卓开发项目中。添加方式包括但不限于将Unity项目以Moudle形式导入安卓开发项目中。
在上述步骤中,在安卓开发项目中已经完成第一活动界面的加载之后,需要加载第二活动界面时,相关技术通过调用Unity项目中自带的默认接口类,该默认接口类只能对单个场景进行渲染。当调用Unity项目自带的默认接口类渲染待切换的第二活动界面中的场景时,由于该默认接口类不能主动地识别出待切换的第二活动界面的场景变化,其只能等待安卓开发项目与场景开发项目进行数据交互,来查询第二活动界面中待填充的场景,在场景开发项目查询得到之后,再发送给安卓开发项目,由安卓开发项目的生命周期控制渲染。场景开发项目查询已创建的多个场景需要耗费较长的时间,所以导致从第一活动界面切换至第二活动界面时,在第二活动界面中加载场景会出现黑屏或者卡顿问题。
本申请实施例提出在安卓开发项目中接收到加载第二活动界面的操作时,可以响应于加载第二活动界面的操作,先移除第一活动界面包含的第一三维场景,然后加载第二活动界面,即从安卓开发项目中加载安卓开发项目已开发的第二活动界面,在同一个安卓开发项目中加载相同的或者不同的活动界面,是不会存在卡顿延时等问题的。
然后再在第二活动界面中加载第一活动界面中已加载过的第一三维场景。由于之前第一活动界面中已经加载过第一三维场景,即安卓开发项目与Unity项目提供的接口类之间已经建立了调用关系,因此,在第二活动界面再加载第一三维场景时,安卓开发项目只需要调用接口类对象就可以实现在第二活动界面中加载第一三维场景。其中接口类对象是继承场景开发项目的接口类得到的,该接口类对象可以在完成第一活动界面的第一三维场景加载之后,存储至安卓开发项目对应的全局变量存储位置。该全局变量存储位置包括但不限于与安卓开发项目对应的缓存区域。
加载第一活动界面的过程,可以根据与安卓开发项目的活动界面的生命周期对第一活动界面进行渲染;该生命周期包括多个回调函数,例如,调用创建活动界面的回调方法,将预先定义的安卓开发项目开发的活动界面所需的布局填充第一活动界面;执行获取第一活动界面包含的第一三维场景的焦点和控制在前端显示所述第一活动界面包含的第一三维场景。
在调用创建活动界面的回调方法之后,完成对第一活动界面的渲染,则可以基于场景开发项目提供的接口类继承得到接口类对象,该接口类对象中保留与安卓开发项目之间的调用关系。即接口类中已预先定义的安卓开发项目的活动界面的生命周期,该生命周期至少包括创建活动界面的回调方法,创建活动界面的回调方法包括自定义的布局和控制活动界面可见的回调函数。
在加载第二活动界面过程中,可以直接利用接口类对象查找得到第二三维场景,即通过接口类对象确定与第二活动界面对应的第二三维场景,这样可以有效地节省安卓开发项目与场景开发项目之间反复查找调用关系,重新建立调用关系所需的时间。在毫秒级的场景切换中,该方法可以有效地解决复杂场景交互过程中,由于场景切换导致的黑屏和卡顿问题。
在上述实施例基础上,本申请提出的场景切换控制方法,即可以在应用程序的开发阶段使用,也可以在应用程序的应用阶段使用。
在应用程序的开发阶段使用时,加载第一活动界面之后,由程序开发人员输入切换至第二活动界面的操作指令。在应用程序的应用阶段使用时,可以将应用程序预先安装在电子设备中。该电子设备包括但不限于各种移动终端、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。在将应用程序预先安装到电子设备中之后,用户可以操作控制启动应用程序的活动界面。在加载显示第一活动界面之后,针对第一活动界面输入切换至第二活动界面的操作,响应该操作,在显示界面中加载显示第二活动界面。该操作包括但不限于用户针对第一活动界面中显示的第一三维图像输入的点击操作,滑动操作或者语音控制操作等。
上述加载显示第一活动界面之后,通过调用预先存储的第一活动界面对应的接口类对象,加载第二活动界面,先在第二活动界面中加载第一活动界面包含的第一三维场景,然后移除该第一三维场景,再在第二活动界面中加载第二三维场景。
本申请实施例通过调用预先存储的接口类对象,提高加载第二活动界面内第二三维场景的显示速度,从而提高切换活动界面的流畅度。
在上述实施例基础上,本申请实施例还提供了一种场景切换控制方法,该方法同样可以应用在应用程序开发阶段,和应用程序使用阶段。如图2所示,图2示出了本申请实施例提供的场景切换控制方法的流程示意图。该方法可以由场景切换控制装置执行,该场景切换控制装置可以配置在电子设备中。该方法包括:
步骤201,将场景开发项目添加到安卓开发项目中,该场景开发项目用于向安卓开发项目开发的活动界面提供场景,该场景开发项目包括已开发的多个三维场景;
步骤202,在已加载包含第一三维场景的第一活动界面之后,响应于加载第二活动界面的操作,移除第一活动界面包含的第一三维场景;
步骤203,加载第二活动界面,在第二活动界面中加载第一三维场景;
步骤204,调用存储在安卓开发项目中的接口类对象;
步骤205,利用接口类对象与场景开发项目交互,以将第二活动界面中第一二维场景切换成第二三维场景。
在上述步骤中,接口类对象是在加载第一活动界面时继承场景开发项目中定义的接口类得到的,在接口类中已预先定义安卓开发项目的活动界面的生命周期,该生命周期包括创建活动界面的回调方法,该创建活动界面的回调方法包括自定义的布局和控制活动界面可见的回调函数。
在安卓开发项目中加载包含第一三维场景的第一活动界面可以包括:
根据与安卓开发项目对应的生命周期对第一活动界面进行渲染,与安卓开发项目对应的生命周期包括用于创建安卓开发项目开发的活动界面的回调方法;
调用用于创建安卓开发项目开发的活动界面的回调方法,利用预先定义的安卓开发项目开发的布局文件填充第一活动界面;
并根据三维场景视图的焦点的函数获取第一三维场景和在回调方法回调时在前端显示第一三维场景。
可选地,在安卓开发项目中已加载包含第一三维场景的第一活动界面之后,该方法还包括:
存储接口类对象至安卓开发项目的全局变量存储位置。
例如,场景开发项目为Unity项目,在Unity项目中定义的用于与外部交互的接口类,该接口类例如为UnityPlayerActivity类。
在UnityPlayerActivity类中定义与安卓开发项目对应的生命周期。该生命周期可以包括多个回调方法,例如Oncreate回调方法(即创建活动界面的回调方法),OnRestart回调方法(即重启活动界面的回调方法)。
本申请实施例中提出在Oncreate回调方法中预先定义:
设置活动界面包含的与多个三维场景对应的布局;
查找与待创建活动界面对应的布局;
获取三维场景的焦点,以确定与待创建活动界面对应的三维场景;
以及调用在前端显示三维场景的函数。
上述回调函数可以通过setContview(R.layout.activity_main2)函数设置待创建活动界面包含的与多个三维场景分别对应的布局,这里通过预先定义多个不同布局,可以实现不同活动界面的加载,而相关技术中,针对不同活动界面需要来回多次调用默认的布局文件。
然后,再通过预先定义查找与待创建活动界面对应的布局函数,来实现多个活动界面之间的回调查询。
例如可以通过root=findViewById(R.id.root_layout)目标活动界面。该目标活动界面是安卓开发项目中开发的活动界面中待展示的界面,该目标活动界面包括布局文件和目标三维场景的位置关系。如果目标活动界面是相同的活动界面,则可以根据活动界面标识对应的布局来加载活动界面。如果活动界面标识不同,则可以根据不同的活动界面标识获取与活动界面标识对应的布局来加载活动界面。
以及预先定义获取三维场景视图的焦点的函数和在前端显示三维场景的回调函数。通过获取三维场景视图的焦点的函数,例如mUnityPlayer.requestFocus()来查找与目标活动界面对应的三维场景;然后通过mUnityPlayer.resume()实现在前端显示三维场景。
本申请实施例提出了一种新颖的Oncreate回调方法,在该回调方法包含执行Onstart回调方法的函数语句:mUnityPlayer.requestFocus()和mUnityPlayer.resume()。即本申请实施例提供的Oncreate回调方法可以包括:
通过setContview(R.layout.activity_main2)预先创建多个布局;
通过root=findViewById(R.id.root_layout)查找与待创建活动界面对应的布局;
通过mUnityPlayer.requestFocus()确定与待创建活动界面对应的三维场景;
通过mUnityPlayer.resume()在前端显示三维场景。
本申请实施例中,与相关技术相比,在执行用于创建安卓开发项目开发的活动界面的回调方法时,获取预先定义的新的布局函数,再执行获取三维场景的焦点的函数,最后在该回调方法回调时还执行在前端显示三维场景函数,通过执行修改后回调方法的可以有效地节省三维场景切换所需的时间,从而提高了加载活动界面的效率。
在上述实施例基础上,本申请还提出在重启活动界面的回调方法中预先定义移除-添加-切换机制:
在任意一活动界面重启时,移除任意一活动界面中的三维场景的函数;
重新加载任意一活动界面中的三维场景的函数。
在活动界面重启的回调方法中,即OnRestart回调方法,预先定义了移除-添加-切换机制,在每次执行活动界面重启时,都可以将先移除活动界面所包含的三维场景,然后再添加该被移除的三维场景,最后执行三维场景的切换。通过这样的处理,可以实现多个复杂的三维场景的切换,并解决了部分闪退和黑屏问题。
上述接口类对象,例如可以是UnityPlayer类对象,初次在安卓开发项目中加载包含第一三维场景的第一活动界面时,继承安卓开发项目提供的UnityPlayerActivity类得到UnityPlayer类对象。
通过该回调方法可以实现在安卓开发项目中实现多个复杂三维场景流畅切换且可以进行数据交互的方案。在实现Unity项目导入安卓开发项目的基础上巧妙的利用安卓开发项目中活动界面的生命周期,在Oncreate回调函数中初始化渲染场景,并启动unityPlayer类,在OnRestart回调函数中利用移除-添加-切换机制实现场景切换,移除-添加-切换机制的方式解决了多个复杂场景切换时容易产生的各种问题并且同时也能实现Unity项目的场景交互。
本申请实施例提供的上述方法,在初次或者单次加载三维场景时其处理时间可能没有明显改进,但是,在初次加载三维场景之后,如果在活动界面内执行三维场景切换时,加载新的三维场景所需的时间会明显缩短,通过上述方法可以有效地提升场景切换的处理效率。
在上述实施例基础上,第一活动界面与第二活动界面是相同的活动界面。例如,活动界面的布局相同,且加载的三维场景相同,即实现同一活动界面的重启操作。也可以是第一活动界面与第二活动界面的布局相同,加载的三维场景不同。本申请实施例中,在第一活动界面和第二活动界面相同时,直接调用预先存储的接口类对象实现三维场景的查找,可以有效地缩短活动界面中三维场景切换的时间,提高三维场景切换的流畅度。
在上述实施例基础上,第一活动界面与第二活动界面是不同的活动界面。例如,活动界面的布局不同,各自加载的三维场景也不同。本申请实施例,在第一活动界面和第二活动界面不同时,调用预先存储的接口类对象时可以通过预先存储的接口类对象包含的Oncreate回调方法,获取与第二活动界面对应的布局文件,然后根据获取三维场景的焦点的函数获取第二活动界面包含的目标场景,并执行在前端显示三维场景函数来显示第二活动界面包含的目标场景,这样可以有效地缩短不同活动界面之间切换时间,同时也缩短了不同活动界面内不同三维场景的切换时间。
本申请实施例通过修改安卓开发项目对应的生命周期所包含的部分回调方法来节省每个活动界面加载三维场景所需的时间,并在回调方法中通过移除-记载-切换机制实现了多个三维场景之间的切换,克服了相关技术中场景切换导致的闪退、黑屏等问题。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
下面请参考图4,图4示出了本申请实施例提供的场景切换控制装置的结构示意图。该装置可以配置服务器,从服务器预先下载至电子设备使用,也可以预先安装在电子设备中。该装置包括:
场景移除模块402,用于在已加载第一活动界面之后,响应于加载第二活动界面的操作,移除第一活动界面包含的第一三维场景;
加载替换模块403,用于加载第二活动界面,在第二活动界面中加载第一三维场景;在第二活动界面中,利用多个三维场景中的第二三维场景替换第一三维场景,该多个三维场景是预先导入安卓开发项目的场景开发项目提供的,第一活动界面和第二活动界面是由安卓开发项目开发得到的。
该装置还可以包括:项目添加模块,用于将场景开发项目添加到安卓开发项目中,该场景开发项目用于向安卓开发项目开发的活动界面提供场景,该场景开发项目包括已开发的多个三维场景;
其中,加载替换模块还用于:
调用存储在安卓开发项目中的接口类对象;
利用接口类对象与场景开发项目交互,以将第二活动界面中第一二维场景切换成第二三维场景,该接口类对象是在加载所述第一活动界面时继承所述场景开发项目中定义的接口类得到的,在所述接口类中已预先定义的所述安卓开发项目的活动界面的生命周期,所述生命周期包括创建活动界面的回调方法,所述创建活动界面的回调方法包括自定义的布局和控制活动界面可见的回调函数。
该装置还包括函数定义模块,用于定义创建活动界面的回调方法。函数定义模块还用于:
设置待创建活动界面包含的与所述多个三维场景对应的布局;
查找与待创建活动界面对应的布局;
获取所述三维场景的焦点,以确定与待创建活动界面对应的三维场景;以及调用在前端显示所述三维场景的回调方法。
函数定义模块还用于定义重启活动界面的回调方法,在重启活动界面的回调方法中定义在任意一活动界面重启时,移除任意一活动界面中的三维场景;重新加载所述任意一活动界面中的三维场景。
该装置还包括:存储模块,用于在所述安卓开发项目中已加载包含第一三维场景的第一活动界面之后,存储接口类对象至所述安卓开发项目的全局变量存储位置。
可选地,加载替换模块还用于:
调用创建活动界面的回调方法,将预先定义的所述安卓开发项目开发的活动界面所需的布局填充所述第一活动界面;执行获取所述第一活动界面包含的第一三维场景的焦点和控制在前端显示所述第一活动界面包含的第一三维场景。
可选地,所述第一活动界面与所述第二活动界面是相同的活动界面。
可选地,所述第一活动界面与所述第二活动界面是不同的活动界面。
应当理解,上述装置中记载的诸单元或模块与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于上述装置及其中包含的单元,在此不再赘述。上述装置可以预先实现在电子设备的浏览器或其他安全项目中,也可以通过下载等方式而加载到电子设备的浏览器或其安全项目中。上述装置中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。
在上文详细描述中提及的若干模块或者单元,这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
下面参考图5,图5示出了本申请实施例提供电子设备的处理系统的结构示意图。
如图5所示,计算机系统包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有操作所需的各种程序和数据。CPU 501、ROM502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图图1-2描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括项目移除模块和加载替换模块等。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,项目添加模块还可以被描述为“用于将场景开发项目添加到安卓开发项目中的模块”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本申请的混合开发时场景控制的方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种场景切换控制方法,其特征在于,该方法包括:
在已加载第一活动界面之后,响应于加载第二活动界面的操作,移除所述第一活动界面包含的第一三维场景;
加载所述第二活动界面,在所述第二活动界面中加载所述第一三维场景;
在所述第二活动界面中,利用多个三维场景中的第二三维场景替换所述第一三维场景,所述多个三维场景是预先导入安卓开发项目的场景开发项目提供的,所述第一活动界面和所述第二活动界面是由所述安卓开发项目开发得到的。
2.根据权利要求1所述的方法,其特征在于,所述在所述第二活动界面中,利用多个三维场景中的第二三维场景替换所述第一三维场景,包括:
调用存储在所述安卓开发项目中的接口类对象;
利用所述接口类对象与所述场景开发项目交互,以将所述第二活动界面中所述第一二维场景切换成所述第二三维场景,所述接口类对象是在加载所述第一活动界面时继承所述场景开发项目中定义的接口类得到的,在所述接口类中已预先定义的所述安卓开发项目的活动界面的生命周期,所述生命周期包括创建活动界面的回调方法,所述创建活动界面的回调方法包括自定义的布局和控制活动界面可见的回调函数。
3.根据权利要求2所述的方法,其特征在于,所述创建活动界面的回调方法还包括:
设置待创建活动界面包含的与所述多个三维场景分别对应的布局;
查找与所述待创建活动界面对应的布局;
获取所述三维场景的焦点,以确定与所述待创建活动界面对应的三维场景;
以及调用在前端显示所述三维场景的函数。
4.根据权利要求2所述的方法,其特征在于,所述生命周期还包括重启活动界面的回调方法,所述重启活动界面的回调方法包括:
在任意一活动界面重启时,移除所述任意一活动界面中的三维场景;
重新加载所述任意一活动界面中的三维场景。
5.根据权利要求2所述的方法,其特征在于,在已加载第一活动界面之后,该方法还包括:
存储所述接口类对象至所述安卓开发项目对应的全局变量存储位置。
6.根据权利要求1所述的方法,其特征在于,加载第一活动界面包括:
调用创建活动界面的回调方法,将预先定义的所述安卓开发项目开发的活动界面所需的布局填充所述第一活动界面;执行获取所述第一活动界面包含的第一三维场景的焦点和控制在前端显示所述第一活动界面包含的第一三维场景。
7.根据权利要求1所述的方法,其特征在于,所述第一活动界面与所述第二活动界面是相同的活动界面;或者,所述第一活动界面与所述第二活动界面是不同的活动界面。
8.一种混合开发时场景切换控制装置,其特征在于,该装置包括:
场景移除模块,用于在已加载第一活动界面之后,响应于加载第二活动界面的操作,移除所述第一活动界面包含的第一三维场景;
加载替换模块,用于加载所述第二活动界面,在所述第二活动界面中加载所述第一三维场景;在所述第二活动界面中,利用多个三维场景中的第二三维场景替换所述第一三维场景,所述多个三维场景是预先导入所述安卓开发项目的场景开发项目提供的,所述第一活动界面和所述第二活动界面是由所述安卓开发项目开发得到的。
9.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011572965.XA CN112685096B (zh) | 2020-12-24 | 2020-12-24 | 场景切换控制方法、装置、设备及介质 |
US17/514,323 US11782705B2 (en) | 2020-12-24 | 2021-10-29 | Scene switching method, device and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011572965.XA CN112685096B (zh) | 2020-12-24 | 2020-12-24 | 场景切换控制方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685096A true CN112685096A (zh) | 2021-04-20 |
CN112685096B CN112685096B (zh) | 2024-09-13 |
Family
ID=75453455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011572965.XA Active CN112685096B (zh) | 2020-12-24 | 2020-12-24 | 场景切换控制方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11782705B2 (zh) |
CN (1) | CN112685096B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336678A (zh) * | 2013-07-17 | 2013-10-02 | 天脉聚源(北京)传媒科技有限公司 | 一种资源展示方法、装置和终端 |
CN107066257A (zh) * | 2017-03-06 | 2017-08-18 | 北京潘达互娱科技有限公司 | 一种由Unity到安卓的封装方法及装置 |
CN110928626A (zh) * | 2019-11-21 | 2020-03-27 | 北京金山安全软件有限公司 | 一种界面切换方法、装置及电子设备 |
CN111062255A (zh) * | 2019-11-18 | 2020-04-24 | 苏州智加科技有限公司 | 三维点云的标注方法、装置、设备及存储介质 |
CN111142669A (zh) * | 2019-12-28 | 2020-05-12 | 上海米哈游天命科技有限公司 | 二维界面到三维场景的交互方法、装置、设备及存储介质 |
CN111158824A (zh) * | 2019-12-27 | 2020-05-15 | 上海米哈游天命科技有限公司 | 一种界面显示方法、装置、设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8578329B1 (en) * | 2004-02-12 | 2013-11-05 | Raju V. Chiluvuri | System and method of application development using easier to redesign replaceable components |
FR2960668A1 (fr) * | 2010-05-27 | 2011-12-02 | Airbus Operations Sas | Procede et dispositif de configuration incrementale de modules de type ima |
US10776103B2 (en) * | 2011-12-19 | 2020-09-15 | Majen Tech, LLC | System, method, and computer program product for coordination among multiple devices |
US9405515B1 (en) * | 2015-02-04 | 2016-08-02 | Rockwell Collins, Inc. | Computing systems utilizing controlled dynamic libraries and isolated execution spaces |
CN107423012B (zh) * | 2017-03-31 | 2018-08-07 | 掌阅科技股份有限公司 | 一种数据显示方法、装置及电子设备 |
EP3693851B1 (en) * | 2017-10-09 | 2023-01-11 | Huawei Technologies Co., Ltd. | Class unloading method and electronic device |
US11500665B2 (en) * | 2018-08-30 | 2022-11-15 | Micron Technology, Inc. | Dynamic configuration of a computer processor based on the presence of a hypervisor |
-
2020
- 2020-12-24 CN CN202011572965.XA patent/CN112685096B/zh active Active
-
2021
- 2021-10-29 US US17/514,323 patent/US11782705B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336678A (zh) * | 2013-07-17 | 2013-10-02 | 天脉聚源(北京)传媒科技有限公司 | 一种资源展示方法、装置和终端 |
CN107066257A (zh) * | 2017-03-06 | 2017-08-18 | 北京潘达互娱科技有限公司 | 一种由Unity到安卓的封装方法及装置 |
CN111062255A (zh) * | 2019-11-18 | 2020-04-24 | 苏州智加科技有限公司 | 三维点云的标注方法、装置、设备及存储介质 |
CN110928626A (zh) * | 2019-11-21 | 2020-03-27 | 北京金山安全软件有限公司 | 一种界面切换方法、装置及电子设备 |
CN111158824A (zh) * | 2019-12-27 | 2020-05-15 | 上海米哈游天命科技有限公司 | 一种界面显示方法、装置、设备及介质 |
CN111142669A (zh) * | 2019-12-28 | 2020-05-12 | 上海米哈游天命科技有限公司 | 二维界面到三维场景的交互方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112685096B (zh) | 2024-09-13 |
US20220206790A1 (en) | 2022-06-30 |
US11782705B2 (en) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391114B (zh) | 页面可视化渲染方法及装置 | |
CN111026396B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN110990105B (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN109634490B (zh) | 一种列表显示方法、装置、设备及存储介质 | |
CN111796823A (zh) | 页面更新、页面展示的方法、装置及页面维护系统 | |
CN110209967B (zh) | 页面加载方法、装置、终端设备和计算机可读介质 | |
CN110865863B (zh) | 快应用的界面显示方法、装置及存储介质 | |
JP7048663B2 (ja) | コード実行方法、装置、レンダリングデバイス、記憶媒体、及びプログラム | |
CN108170430B (zh) | 一种界面展示的方法及系统 | |
CN111026491A (zh) | 界面显示方法、装置、电子设备、服务器及存储介质 | |
CN111008057A (zh) | 页面展示方法、装置及存储介质 | |
WO2016118769A1 (en) | Processing application interface | |
CN110865864B (zh) | 快应用的界面显示方法、装置、设备及存储介质 | |
CN110971974B (zh) | 配置参数创建方法、装置、终端及存储介质 | |
CN114924712A (zh) | 一种基于域控制器平台的aui模块化实现方法及系统 | |
CN110908629A (zh) | 电子设备操作方法、装置、电子设备和存储介质 | |
US10268647B2 (en) | Asset catalog layered image support | |
JP7010562B2 (ja) | ラッピング方法、登録方法、装置、レンダリングディバイス、及びプログラム | |
CN111104183B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN112685096A (zh) | 场景切换控制方法、装置、设备及介质 | |
CN114090172B (zh) | 跨系统的小部件复用方法及装置 | |
CN113706671A (zh) | 动画实现方法、装置、设备及存储介质 | |
CN110865760A (zh) | 电子设备操作方法、装置、电子设备及存储介质 | |
CN117130688B (zh) | 快应用卡片加载方法、电子设备及存储介质 | |
CN115794603A (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 |