CN106528159A - 一种移动终端实现应用具有动态效果的方法及系统 - Google Patents

一种移动终端实现应用具有动态效果的方法及系统 Download PDF

Info

Publication number
CN106528159A
CN106528159A CN201611026328.6A CN201611026328A CN106528159A CN 106528159 A CN106528159 A CN 106528159A CN 201611026328 A CN201611026328 A CN 201611026328A CN 106528159 A CN106528159 A CN 106528159A
Authority
CN
China
Prior art keywords
mobile terminal
surfaceview
application
view
target program
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
CN201611026328.6A
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.)
Shenzhen Prize Technology Co Ltd
Original Assignee
Shenzhen Prize 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 Shenzhen Prize Technology Co Ltd filed Critical Shenzhen Prize Technology Co Ltd
Priority to CN201611026328.6A priority Critical patent/CN106528159A/zh
Publication of CN106528159A publication Critical patent/CN106528159A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及移动终端技术领域,公开了一种移动终端实现应用具有动态效果的方法及系统,其中,步骤A,当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview;步骤B,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;步骤C,移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置。本发明通过在一个新起的单独线程中可以重新绘制画面,使用surfaceView解决了主UI线程阻塞的问题,制作得到了点击下载应用飞入动画的效果,使动画更加顺畅,避免引起主界面的卡顿。

Description

一种移动终端实现应用具有动态效果的方法及系统
技术领域
本发明涉及移动终端安卓技术领域,尤其涉及的是一种移动终端实现应用具有动态效果的方法及系统。
背景技术
一、什么是Surface
简单的说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都要画在Surface的Canvas上(后面有原因解释)。传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行。
在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer thatis being managed by the screen compositor”,翻译成中文就是“由屏幕显示内容合成器(screen compositor)所管理的原始缓冲区的句柄”,这句话包括下面两个意思:
1、通过Surface(因为Surface是句柄)就可以获得原生缓冲器以及其中的内容。就像在C++语言中,可以通过一个文件的句柄,就可以获得文件的内容一样。
2、 原始缓冲区(a raw buffer)是用于保存当前窗口的像素数据的。
引伸地,可以认为Android中的Surface就是一个用来画图形(graphics)或图像(image)的地方。
根据Java方面的常规知识,我们知道通常画图是在一个Canvas对象上面进行的,由此,可以推知一个Surface对象中应该包含有一个Canvas(画布)对象。因此,在前面提及的两个意思的基础上,可以再加上一条:
3、Surface中有一个Canvas成员,专门用于画图的。
由以上的概括,我们总结如下:Surface中的Canvas成员,是专门用于供程序员画图的场所,就像黑板一样;其中的原始缓冲区是用来保存数据的地方;Surface本身的作用类似一个句柄,得到了这个句柄就可以得到其中的Canvas、原始缓冲区以及其它方面的内容。
Surface是用来管理数据的。(句柄)
二、什么是SurfaceView
说SurfaceView是一个View也许不够严谨,然而从定义中pubilc classSurfaceViewextends View{.....}显示SurfaceView确实是派生自View,但是SurfaceView却有自己的Surface。
很明显,每个SurfaceView创建的时候都会创建一个MyWindow,new MyWindow(this)中的this正是SurfaceView自身,因此将SurfaceView和window绑定在一起,由第一部分我们知道,一个window对应一个Surface,因此SurfaceView也就内嵌了一个自己的Surface,可以认为SurfaceView是用来控制Surface中View的位置和尺寸的。
SurfaceView就是展示Surface中数据的地方,同时可以认为SurfaceView是用来控制Surface中View的位置和尺寸的。
大家都知道,传统View及其派生类的更新只能在UI线程,然而UI线程还同时处理其他交互逻辑,这就无法保证View更新的速度和帧率了,而SurfaceView可以用独立的线程进行绘制,因此可以提供更高的帧率,例如游戏,摄像头取景等场景就比较适合SurfaceView来实现。
三、什么是SurfaceHolder
SurfaceHolder是一个接口,其作用就像一个关于Surface的监听器,提供访问和控制SurfaceView内嵌的Surface 相关的方法。它通过三个回调方法,让我们可以感知到Surface的创建、销毁或者改变。
在SurfaceView中有一个方法getHolder,可以很方便地获得SurfaceView内嵌的Surface所对应的监听器接口SurfaceHolder(有点拗口吧)。
除下面将要提到的SurfaceHolder.Callback外,SurfaceHolder还提供了很多重要的方法,其中最重要的就是:
1、abstract void addCallback(SurfaceHolder.Callbackcallback):为SurfaceHolder添加一个SurfaceHolder.Callback回调接口。
2、abstract Canvas lockCanvas():获取一个Canvas对象,并锁定之。所得到的Canvas对象,其实就是Surface中一个成员。
3、abstract Canvas lockCanvas(Rect dirty):同上。但只锁定dirty所指定的矩形区域,因此效率更高。
4、abstract void unlockCanvasAndPost(Canvas canvas):当修改Surface中的数据完成后,释放同步锁,并提交改变,然后将新的数据进行展示,同时Surface中相关数据会被丢失。
2、3、4中的同步锁机制的目的,就是为了在绘制的过程中,Surface中的数据不会被改变。lockCanvas是为了防止同一时刻多个线程对同一canvas写入。
总结:从设计模式的高度来看,Surface、SurfaceView和SurfaceHolder实质上就是广为人知的MVC,即Model-View-Controller。Model就是模型的意思,或者说是数据模型,或者更简单地说就是数据,也就是这里的Surface;View即视图,代表用户交互界面,也就是这里的SurfaceView;SurfaceHolder很明显可以理解为MVC中的Controller(控制器)。
在现在的Android App开发中,动效越来越受到产品和设计师同学的重视,如此一来,也就增大了对开发同学的考验,虽说简单的动效:如移动,旋转,缩放,渐变或普通的界面跳转相对简单,但在目前日益激烈的竞争条件下,出彩复杂的动效也越来越多,并且很多效果已经无法直接用android提供的Animation或Animator框架进行实现,需要通过自定义View或ViewGroup解决。
View或ViewGroup动效必须在UI的主线程中更新画面。在刷新频率较高或者需要迅速的更新界面或者渲染UI界面需要较长的时间的情况下,那么在UI的主线程中更新画面可能会引发问题,比如你更新画面的时间过长,那么你的主UI线程会被你正在画的函数阻塞。那么将无法响应按键,触屏等消息。
因此,针对上述缺陷,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种移动终端实现应用具有动态效果的方法及系统,旨在通过在一个新起的单独线程中可以重新绘制画面,使用surfaceView解决了主UI线程阻塞的问题,制作得到了点击下载应用飞入动画的效果,使动画更加顺畅,避免引起主界面的卡顿。
本发明解决技术问题所采用的技术方案如下:
一种移动终端实现应用具有动态效果的方法,其中,包括:
步骤A,当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview;
步骤B,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
步骤C,移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置。
优选地,所述移动终端实现应用具有动态效果的方法,其中,所述步骤A具体包括:
A1,通过Surface获得原生缓冲器以及其中的内容,原始缓冲区用于保存当前窗口的像素数据;
A2,当在安卓系统中开发应用时,移动终端获取目标程序View;
A3,将获取到的目标程序View分为被执行的scrview和当作目标的targetview。
优选地,所述移动终端实现应用具有动态效果的方法,其中,所述步骤B具体包括:
B1,创建SurfaceView,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
B2,SurfaceView展示Surface中数据,同时SurfaceView用来控制Surface中View的位置和尺寸。
优选地,所述移动终端实现应用具有动态效果的方法,其中,所述步骤C具体包括:
C1,移动终端开启UI线程,View或ViewGroup动效在UI的主线程中更新画面;
C2,通过子线程实现计算scrview的变化,到达指定位置,呈现出设计原稿序列时预想的动态立体效果。
优选地,所述移动终端实现应用具有动态效果的方法,其中,所述SurfaceView拥有独立的绘图表面,不与其宿主窗口共享同一个绘图表面,所述 SurfaceView的UI可在一个独立的线程中进行绘制,不会占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。
一种移动终端实现应用具有动态效果的系统,其中,包括:
目标程序获取模块,用于当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview;
坐标和距离获取模块,用于当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
开启计算模块,用于移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置。
优选地,所述移动终端实现应用具有动态效果的系统,其中,所述目标程序获取模块具体包括:
内容获取单元,用于通过Surface获得原生缓冲器以及其中的内容,原始缓冲区用于保存当前窗口的像素数据;
程序获取单元,用于当在安卓系统中开发应用时,移动终端获取目标程序View;
程序分类单元,用于将获取到的目标程序View分为被执行的scrview和当作目标的targetview。
优选地,所述移动终端实现应用具有动态效果的系统,其中,所述坐标和距离获取模块具体包括:
数据传入单元,用于创建SurfaceView,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
展示控制单元,用于SurfaceView展示Surface中数据,同时SurfaceView用来控制Surface中View的位置和尺寸。
优选地,所述移动终端实现应用具有动态效果的系统,其中,所述开启计算模块具体包括:
画面更新单元,用于移动终端开启UI线程,View或ViewGroup动效在UI的主线程中更新画面;
计算单元,用于通过子线程实现计算scrview的变化,到达指定位置,呈现出设计原稿序列时预想的动态立体效果。
优选地,所述移动终端实现应用具有动态效果的系统,其中,所述SurfaceView拥有独立的绘图表面,不与其宿主窗口共享同一个绘图表面,所述 SurfaceView的UI可在一个独立的线程中进行绘制,不会占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。
公开了一种移动终端实现应用具有动态效果的方法及系统,所述方法包括:当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview;当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置。本发明通过在一个新起的单独线程中可以重新绘制画面,使用surfaceView解决了主UI线程阻塞的问题,制作得到了点击下载应用飞入动画的效果,使动画更加顺畅,避免引起主界面的卡顿。
附图说明
图1是本发明移动终端实现应用具有动态效果的方法的较佳实施例的流程图。
图2是本发明移动终端实现应用具有动态效果的系统的较佳实施例的功能原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1是本发明移动终端实现应用具有动态效果的方法的较佳实施例的流程图。
如图1所示,本发明实施例提供的一种移动终端实现应用具有动态效果的方法,包括以下步骤:
步骤S100,当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview。
本发明中, 在Android系统中,有一种特殊的视图,称为SurfaceView,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面。由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行绘制。又由于不会占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。
普通的Android控件,例如TextView、Button和CheckBox等,它们都是将自己的UI绘制在宿主窗口的绘图表面之上,这意味着它们的UI是在应用程序的主线程中进行绘制的。由于应用程序的主线程除了要绘制UI之外,还需要及时地响应用户输入,否则的话,系统就会认为应用程序没有响应了,因此就会弹出一个ANR对话框出来。对于一些游戏画面,或者摄像头预览、视频播放来说,它们的UI都比较复杂,而且要求能够进行高效的绘制,因此,它们的UI就不适合在应用程序的主线程中进行绘制。这时候就必须要给那些需要复杂而高效UI的视图生成一个独立的绘图表面,以及使用一个独立的线程来绘制这些视图的UI。
进一步地,所述步骤S100具体包括:
S110,通过Surface获得原生缓冲器以及其中的内容,原始缓冲区用于保存当前窗口的像素数据;
S120,当在安卓系统中开发应用时,移动终端获取目标程序View;
S130,将获取到的目标程序View分为被执行的scrview和当作目标的targetview。
步骤S200,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView。
本发明中,一般来说,每一个窗口在SurfaceFlinger服务中都对应有一个Layer,用来描述它的绘图表面。对于那些具有SurfaceView的窗口来说,每一个SurfaceView在SurfaceFlinger服务中还对应有一个独立的Layer或者LayerBuffer,用来单独描述它的绘图表面,以区别于它的宿主窗口的绘图表面。
无论是LayerBuffer,还是Layer,它们都是以LayerBase为基类的,也就是说,SurfaceFlinger服务把所有的LayerBuffer和Layer都抽象为LayerBase,因此就可以用统一的流程来绘制和合成它们的UI。
由于SurfaceView具有独立的绘图表面,因此,在它的UI内容可以绘制之前,我们首先要将它的绘图表面创建出来。尽管SurfaceView不与它的宿主窗口共享同一个绘图表面,但是它仍然是属于宿主窗口的视图结构的一个结点的,也就是说,SurfaceView仍然是会参与到宿主窗口的某些执行流程中去。
每当一个窗口需要刷新UI时,就会调用ViewRoot类的成员函数performTraversals。ViewRoot类的成员函数performTraversals在执行的过程中,如果发现当前窗口的绘图表面还没有创建,或者发现当前窗口的绘图表面已经失效了,那么就会请求WindowManagerService服务创建一个新的绘图表面,同时,它还会通过一系列的回调函数来让嵌入在窗口里面的SurfaceView有机会创建自己的绘图表面。
进一步地,所述步骤S200具体包括:
S210,创建SurfaceView,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
S220,SurfaceView展示Surface中数据,同时SurfaceView用来控制Surface中View的位置和尺寸。
步骤S300,移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置。
本发明中,当前正在处理的SurfaceView需要在宿主窗口的绘图表面上挖一个洞,即需要在宿主窗口的绘图表面上设置一块透明区域。当前正在处理的SurfaceView的父视图保存在父类View的成员变量mParent中,通过调用这个成员变量mParent所指向的一个ViewGroup对象的成员函数requestTransparentRegion,就可以通知到当前正在处理的SurfaceView的父视图,当前正在处理的SurfaceView需要在宿主窗口的绘图表面上设置一块透明区域。
调用从父类View继承下来的成员函数getWindowSession来获得一个实现了IWindowSession接口的Binder代理对象,并且将该Binder代理对象保存在SurfaceView类的成员变量mSession中。在Android系统中,每一个应用程序进程都有一个实现了IWindowSession接口的Binder代理对象,这个Binder代理对象是用来与WindowManagerService服务进行通信的,View类的成员函数getWindowSession返回的就是该Binder代理对象。可以看到,SurfaceView就可以通过这个实现了IWindowSession接口的Binder代理对象来请求WindowManagerService服务为自己创建绘图表面的。
在创建了一个SurfaceView之后,可以调用它的成员函数getHolder获得一个SurfaceHolder对象,然后再调用该SurfaceHolder对象的成员函数setType来修改该SurfaceView的绘图表面的类型,即修改该SurfaceView的成员变量mRequestedType的值。
所述SurfaceView拥有独立的绘图表面,不与其宿主窗口共享同一个绘图表面,所述 SurfaceView的UI可在一个独立的线程中进行绘制,不会占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。
进一步地,所述步骤S300具体包括:
S310,移动终端开启UI线程,View或ViewGroup动效在UI的主线程中更新画面;
S320,通过子线程实现计算scrview的变化,到达指定位置,呈现出设计原稿序列时预想的动态立体效果。
基于上述实施例,本发明还提供一种移动终端实现应用具有动态效果的系统,请参阅图2,图2是本发明移动终端实现应用具有动态效果的系统的较佳实施例的功能原理框图。
如图2所示,所述系统包括:
目标程序获取模块210,用于当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview;具体如上所述。
坐标和距离获取模块220,用于当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;具体如上所述。
开启计算模块230,用于移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置;具体如上所述。
进一步地,所述移动终端实现应用具有动态效果的系统,其中,所述目标程序获取模块具体包括:
内容获取单元,用于通过Surface获得原生缓冲器以及其中的内容,原始缓冲区用于保存当前窗口的像素数据;具体如上所述。
程序获取单元,用于当在安卓系统中开发应用时,移动终端获取目标程序View;具体如上所述。
程序分类单元,用于将获取到的目标程序View分为被执行的scrview和当作目标的targetview;具体如上所述。
进一步地,所述移动终端实现应用具有动态效果的系统,其中,所述坐标和距离获取模块具体包括:
数据传入单元,用于创建SurfaceView,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;具体如上所述。
展示控制单元,用于SurfaceView展示Surface中数据,同时SurfaceView用来控制Surface中View的位置和尺寸;具体如上所述。
进一步地,所述移动终端实现应用具有动态效果的系统,其中,所述开启计算模块具体包括:
画面更新单元,用于移动终端开启UI线程,View或ViewGroup动效在UI的主线程中更新画面;具体如上所述。
计算单元,用于通过子线程实现计算scrview的变化,到达指定位置,呈现出设计原稿序列时预想的动态立体效果;具体如上所述。
进一步地,所述移动终端实现应用具有动态效果的系统,其中,所述SurfaceView拥有独立的绘图表面,不与其宿主窗口共享同一个绘图表面,所述 SurfaceView的UI可在一个独立的线程中进行绘制,不会占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应;具体如上所述。
综上所述,本发明公开了一种移动终端实现应用具有动态效果的方法及系统,所述方法包括:当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview;当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置。本发明通过在一个新起的单独线程中可以重新绘制画面,使用surfaceView解决了主UI线程阻塞的问题,制作得到了点击下载应用飞入动画的效果,使动画更加顺畅,避免引起主界面的卡顿。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (10)

1.一种移动终端实现应用具有动态效果的方法,其特征在于,包括:
步骤A,当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview;
步骤B,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
步骤C,移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置。
2.根据权利要求1所述移动终端实现应用具有动态效果的方法,其特征在于,所述步骤A具体包括:
A1,通过Surface获得原生缓冲器以及其中的内容,原始缓冲区用于保存当前窗口的像素数据;
A2,当在安卓系统中开发应用时,移动终端获取目标程序View;
A3,将获取到的目标程序View分为被执行的scrview和当作目标的targetview。
3.根据权利要求1所述移动终端实现应用具有动态效果的方法,其特征在于,所述步骤B具体包括:
B1,创建SurfaceView,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
B2,SurfaceView展示Surface中数据,同时SurfaceView用来控制Surface中View的位置和尺寸。
4.根据权利要求1所述移动终端实现应用具有动态效果的方法,其特征在于,所述步骤C具体包括:
C1,移动终端开启UI线程,View或ViewGroup动效在UI的主线程中更新画面;
C2,通过子线程实现计算scrview的变化,到达指定位置,呈现出设计原稿序列时预想的动态立体效果。
5.根据权利要求1所述移动终端实现应用具有动态效果的方法,其特征在于,所述SurfaceView拥有独立的绘图表面,不与其宿主窗口共享同一个绘图表面,所述SurfaceView的UI可在一个独立的线程中进行绘制,不会占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。
6.一种移动终端实现应用具有动态效果的系统,其特征在于,包括:
目标程序获取模块,用于当在安卓系统中开发应用时,移动终端获取目标程序View,将获取到的目标程序View分为被执行的scrview和当作目标的targetview;
坐标和距离获取模块,用于当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
开启计算模块,用于移动终端开启线程,并通过子线程实现计算scrview的变化,到达指定位置。
7.根据权利要求6所述的移动终端实现应用具有动态效果的系统,其特征在于,所述目标程序获取模块具体包括:
内容获取单元,用于通过Surface获得原生缓冲器以及其中的内容,原始缓冲区用于保存当前窗口的像素数据;
程序获取单元,用于当在安卓系统中开发应用时,移动终端获取目标程序View;
程序分类单元,用于将获取到的目标程序View分为被执行的scrview和当作目标的targetview。
8.根据权利要求6所述的移动终端实现应用具有动态效果的系统,其特征在于,所述坐标和距离获取模块具体包括:
数据传入单元,用于创建SurfaceView,当移动终端得到到目标程序View后,再获取绝对坐标和相对距离并传入SurfaceView;
展示控制单元,用于SurfaceView展示Surface中数据,同时SurfaceView用来控制Surface中View的位置和尺寸。
9.根据权利要求6所述的移动终端实现应用具有动态效果的系统,其特征在于,所述开启计算模块具体包括:
画面更新单元,用于移动终端开启UI线程,View或ViewGroup动效在UI的主线程中更新画面;
计算单元,用于通过子线程实现计算scrview的变化,到达指定位置,呈现出设计原稿序列时预想的动态立体效果。
10.根据权利要求6所述的移动终端实现应用具有动态效果的系统,其特征在于,所述SurfaceView拥有独立的绘图表面,不与其宿主窗口共享同一个绘图表面,所述SurfaceView的UI可在一个独立的线程中进行绘制,不会占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。
CN201611026328.6A 2016-11-22 2016-11-22 一种移动终端实现应用具有动态效果的方法及系统 Pending CN106528159A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611026328.6A CN106528159A (zh) 2016-11-22 2016-11-22 一种移动终端实现应用具有动态效果的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611026328.6A CN106528159A (zh) 2016-11-22 2016-11-22 一种移动终端实现应用具有动态效果的方法及系统

Publications (1)

Publication Number Publication Date
CN106528159A true CN106528159A (zh) 2017-03-22

Family

ID=58352856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611026328.6A Pending CN106528159A (zh) 2016-11-22 2016-11-22 一种移动终端实现应用具有动态效果的方法及系统

Country Status (1)

Country Link
CN (1) CN106528159A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590057A (zh) * 2017-09-28 2018-01-16 努比亚技术有限公司 冻屏监测与解决方法、移动终端及计算机可读存储介质
CN108600852A (zh) * 2018-04-28 2018-09-28 北京酷我科技有限公司 一种弹幕效果的实现方法
CN108762881A (zh) * 2018-06-21 2018-11-06 广州酷狗计算机科技有限公司 界面绘制方法、装置、终端及存储介质
CN109582409A (zh) * 2018-10-15 2019-04-05 广东宝莱特医用科技股份有限公司 一种基于双缓冲的显示叠加方法
CN110597512A (zh) * 2019-08-23 2019-12-20 华为技术有限公司 显示用户界面的方法及电子设备
CN114443153A (zh) * 2022-01-28 2022-05-06 深圳Tcl新技术有限公司 界面绘图方法、装置、计算机设备和存储介质
CN114942809A (zh) * 2022-05-19 2022-08-26 麒麟合盛网络技术股份有限公司 一种动画显示方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876906A (zh) * 2010-03-31 2010-11-03 北京播思软件技术有限公司 一种利用Linux应用在Android系统中运行的方法及装置
CN102419708A (zh) * 2011-12-19 2012-04-18 广州杰赛科技股份有限公司 一种j2me游戏运行方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876906A (zh) * 2010-03-31 2010-11-03 北京播思软件技术有限公司 一种利用Linux应用在Android系统中运行的方法及装置
CN102419708A (zh) * 2011-12-19 2012-04-18 广州杰赛科技股份有限公司 一种j2me游戏运行方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TGWW88: "Android中的Surface和SurfaceView之我见", 《HTTPS://BLOG.CSDN.NET/TGWW88/ARTICLE/DETAILS/7973476》 *
罗升阳: "Android视图SurfaceView的实现原理分析", 《HTTPS://BLOG.CSDN.NET/LUOSHENGYANG/ARTICLE/DETAILS/8661317/》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590057A (zh) * 2017-09-28 2018-01-16 努比亚技术有限公司 冻屏监测与解决方法、移动终端及计算机可读存储介质
CN107590057B (zh) * 2017-09-28 2021-06-15 努比亚技术有限公司 冻屏监测与解决方法、移动终端及计算机可读存储介质
CN108600852A (zh) * 2018-04-28 2018-09-28 北京酷我科技有限公司 一种弹幕效果的实现方法
CN108600852B (zh) * 2018-04-28 2020-12-15 北京酷我科技有限公司 一种弹幕效果的实现方法
CN108762881A (zh) * 2018-06-21 2018-11-06 广州酷狗计算机科技有限公司 界面绘制方法、装置、终端及存储介质
CN108762881B (zh) * 2018-06-21 2021-02-12 广州酷狗计算机科技有限公司 界面绘制方法、装置、终端及存储介质
CN109582409A (zh) * 2018-10-15 2019-04-05 广东宝莱特医用科技股份有限公司 一种基于双缓冲的显示叠加方法
CN110597512A (zh) * 2019-08-23 2019-12-20 华为技术有限公司 显示用户界面的方法及电子设备
CN114443153A (zh) * 2022-01-28 2022-05-06 深圳Tcl新技术有限公司 界面绘图方法、装置、计算机设备和存储介质
CN114443153B (zh) * 2022-01-28 2024-03-12 深圳Tcl新技术有限公司 界面绘图方法、装置、计算机设备和存储介质
CN114942809A (zh) * 2022-05-19 2022-08-26 麒麟合盛网络技术股份有限公司 一种动画显示方法和装置

Similar Documents

Publication Publication Date Title
CN106528159A (zh) 一种移动终端实现应用具有动态效果的方法及系统
US11830151B2 (en) Methods and system for managing and displaying virtual content in a mixed reality system
CN107018336B (zh) 图像处理的方法和装置及视频处理的方法和装置
US11386623B2 (en) Methods, systems, and computer program product for managing and displaying webpages in a virtual three-dimensional space with a mixed reality system
US10812780B2 (en) Image processing method and device
KR20220030263A (ko) 텍스처 메시 빌딩
TWI291627B (en) Method, system for providing visual and scene graph interface in a computing environment and computer-readable medium for recording the associated instructions
US11363329B2 (en) Object discovery and exploration in video content
US11288867B2 (en) Real-time exploration of video content
WO2017113730A1 (zh) 复合用户界面控件的生成和控制方法及系统
US9747727B2 (en) Object customization and accessorization in video content
CN104915979A (zh) 跨移动平台实现沉浸式虚拟现实的系统
CN103530898B (zh) 一种基于3d实时渲染的动画处理方法和系统
WO2016130935A1 (en) System and method to integrate content in real time into a dynamic 3-dimensional scene
US9588651B1 (en) Multiple virtual environments
CN106028115A (zh) 视频播放方法和装置
CN110019464A (zh) 页面处理方法及装置
WO2023207194A1 (zh) 画面显示方法、装置、设备、存储介质及程序产品
CN113066189B (zh) 一种增强现实设备及虚实物体遮挡显示方法
CN108184054B (zh) 一种用于智能终端拍摄图像的预处理方法及预处理装置
CN116843802A (zh) 虚拟形象的处理方法及相关产品
CN107291561A (zh) 一种图形合成方法、信息交互方法及系统
US10939175B2 (en) Generating new video content from pre-recorded video
CN110349270A (zh) 基于现实空间定位的虚拟沙盘呈现方法
CN104063241B (zh) 宿主程序与com组件的图像同步显示的方法与系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170322

RJ01 Rejection of invention patent application after publication