用于移动终端的应用屏幕截图方法和装置制造方法

文档序号:6546013阅读:139来源:国知局
用于移动终端的应用屏幕截图方法和装置制造方法
【专利摘要】本发明公开了一种用于移动终端的应用屏幕截图方法和装置,属于移动终端领域。该方法包括:接收切换指令,所述切换指令用于将所述移动终端的指定应用切换到后台运行;截取所述指定应用的应用屏幕的指定区域,得到指定区域截图;保存所述指定区域截图,将所述指定应用切换到后台运行。本发明实施例通过在关闭应用屏幕Activity之前,Activity窗口还可见时,对应用屏幕进行截图,获取Activity的最后一次的真实屏幕,避免了在关闭应用屏幕之后进行截图造成的高内存占用,提高了截屏效率,降低了内存占用和调用次数。
【专利说明】用于移动终端的应用屏幕截图方法和装置
【技术领域】
[0001]本发明涉及移动终端领域,特别涉及一种用于移动终端的应用屏幕截图方法和装置。
【背景技术】
[0002]随着移动终端的发展,作为移动终端的一个例子智能手机上多装有Android系统,Android是google开源的一个用于开发移动程序的软件平台,它包括了操作系统、中间件及一些关键应用。移动终端用户切换活动(Activity)是Android平台的一种标准组件。实际上一个Activity就是应用中的一个单一的屏幕,它继承自Activity类,它将显示由Views组成的UI (User Interface,用户界面)以及响应事件。
[0003]但是,现有技术在Android平台下对任务管理器和Home桌面应用程序等应用场景等进行管理时,只能获取后台运行的应用屏幕,无法读取所有历史应用的屏幕,用户不容易找到自己想切换的应用,使得在应用切换时,Π发挥的余地少,显示不直观,用户体验差。

【发明内容】

[0004]本发明实施例提供了 一种用于移动终端的应用屏幕截图方法和装置。所述技术方案如下:
[0005]一种用于移动终端的应用屏幕截图方法,包括:
[0006]接收切换指令,所述切换指令用于将所述移动终端的指定应用切换到后台运行;
[0007]截取所述指定应用的应用屏幕的指定区域,得到指定区域截图;
[0008]保存所述指定区域截图;
[0009]将所述指定应用切换到后台运打。
[0010]一种用于移动终端的应用屏幕截图装置,包括:
[0011]接收模块,用于切换指令,所述切换指令用于将所述移动终端的指定应用切换到后台运行;
[0012]截图模块,用于截取所述指定应用的应用屏幕的指定区域,得到指定区域截图;
[0013]保存模块,用于保存所述指定区域截图;
[0014]切换模块,用于将所述指定应用切换到后台运行。
[0015]本发明实施例提供的技术方案的有益效果是:
[0016]通过在关闭应用屏幕Activity之前,Activity窗口还可见时,对应用屏幕进行截图,获取Activity的最后一次的真实屏幕,避免了在关闭应用屏幕之后进行截图造成的高内存占用,提高了截屏效率,降低了内存占用和调用次数。
【专利附图】

【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本发明实施例提供的一种用于移动终端的应用屏幕截图方法的流程图;
[0019]图2是本发明实施例提供的一种用于移动终端的应用屏幕截图方法的流程图;
[0020]图3是本发明实施例提供的一种用于移动终端的应用屏幕截图方法的在JAVA环境中示例的流程图;
[0021]图4是本发明实施例提供的一种用于移动终端的应用屏幕截图装置的结构示意图。
【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0023]在介绍本发明提供的应用屏幕截图方法之前,首先对本发明的基础知识进行简要的介绍:
[0024]Activity是Android平台的一种标准组件。实际上一个Activity就是应用中的一个单一的屏幕,它继承自Activity类,它将显示由Views组成的UI以及响应事件。
[0025]History Activity为历史Activity,是指用户曾经打开过的Activity,包含正在后台运行任务中的Activity。
[0026]SurfaceView 是 Android 平台的一种特殊 View 视图类。它是 GLSurfaceView 和RSSurfaceView这两种3D视图类的父类。这两种3D视图类都运行在自己独立的绘制线程。故不同于其他普通View视图类。
[0027]Live Wappaper是指Android平台的动态墙纸,通常是由RSSurfaceView视图类实现的。
[0028]ActivityManagerService 是指 Activity 管理服务,是 Android平台中的一个关键系统服务。
[0029]WindowManagerService是指Window管理服务,是Android平台中的一个关键系统服务。
[0030]TaskManager:是指任务管理器,是一个具有任务显示,切换和杀死等功能的Android应用程序。
[0031]图1是本发明实施例提供的一种用于移动终端的应用屏幕截图方法的流程图。该实施例的执行主体是移动终端,参见图1,该实施例具体包括:
[0032]101、接收用于关闭指定应用屏幕的指令;
[0033]在本实施例中,移动终端上运行至少一个应用,该应用当前可处于全屏状态。该用于关闭指定应用屏幕的指令为将指定应用切换至后台运行的切换指令,或将另一应用切换至前台运行的切换指令,或关闭指定应用的关闭指令。其中,当指令为将指定应用切换至后台运行的切换指令时,该指令可以由移动终端用户手动触发,如,将指定应用最小化等,该指令还可以根据预设条件触发,如,指定程序在20分钟内处于空闲状态,则触发用于将指定应用切换至后台运行的切换指令。
[0034]本领域技术人员可以获知,一个应用Acitvity的生命周期包括:启动一个Activity时,ActivityO的构造函数执行完毕后,系统调用onCreate O方法,在这里设置Activity的全局状态和资源,然后调用onStart O方法,在这个方法执行完毕,Activity在屏幕中可见。执行onResumeO方法,这个时候Acitvity在一个loop循环中的等待窗口事件。当窗口部分可见时,也就是说Acitvity不是在最前端时,Activity的onFreezeO方法被调用,这个方法保存Activity —些内部状态。然后窗口暂停,直到Activity又出现在最前端,activity的onResumeO方法被调用。如果Activity窗口不可见,贝U说明Activity的onStopO方法被调用,直到覆盖Activity的窗口关闭时,activity的onRestartO方法开始调用,然后重复onStart O方法。当系统回收资源或者Activity被调用finish O方法时,Activity停止,调用onDestroyO释放Activity拥有的资源。
[0035]102、截取所述指定应用屏幕的指定区域,得到指定区域截图;
[0036]在本实施例中,该指定区域可以是整个应用屏幕,也可以是由移动终端预设的区域,本发明实施例不做具体限定。通过对指定区域的截屏,可以获取状态栏的视图,还可以根据需要是否含状态栏部分。
[0037]需要说明的是,本实施例的步骤102是在接收到关闭指定应用屏幕的指令之后,并在关闭指定应用屏幕之前进行的,与步骤101中对现有技术中Acitvity的生命周期的描述相对比,现有技术中的截屏发生在调用onStopO方法之后,而本发明的截屏是在调用onPause O方法之后,调用onStopO方法之前。
[0038]103、保存所述指定区域截图,关闭所述指定应用屏幕。
[0039]在本实施例中,移动终端保存对指定应用屏幕的截图后,关闭该指定应用屏幕,根据接收到的指令,关闭该指定应用或将指定应用切换到后台运行。
[0040]步骤103之后,还包括:
[0041]当接收到查看所述指定应用的指令时,获取所述指定区域截图,并显示所述指定区域截图。
[0042]本实施例提供的方法,通过在关闭应用屏幕Activity之前,窗口还可见时,对应用屏幕进行截图,获取Activity的最后一次的真实屏幕,避免了在关闭应用屏幕之后进行截图造成的高内存占用,提高了截屏效率,降低了内存占用和调用次数。
[0043]图2是本发明实施例提供的一种用于移动终端的应用屏幕截图方法的流程图。该实施例的执行主体是移动终端,移动终端上当前运行一指定应用,参见图2,该实施例具体包括:
[0044]201、移动终端接收到关闭指定应用屏.的指令;
[0045]该步骤201与步骤101原理相同,在此不再赘述。
[0046]202、移动终端根据本地显示屏尺寸和预设缩放比例,将所述指定应用屏幕的指定区域进行缩放,并截取所述缩放后的缩略图,得到指定区域截图;
[0047]在本实施例中,本地显示屏尺寸是指移动终端的显示屏尺寸,一般地,应用屏幕的尺寸与本地显示屏的尺寸相同,也即是截图的原始尺寸为本地显示屏的尺寸;指定应用屏幕的指定区域可由移动终端用户根据浏览习惯设置,该指定区域可以为指定应用屏幕的全屏区域,也可以为指定应用屏幕的某个区域;预设缩放比例由移动终端用户根据浏览习惯等设置,本发明实施例不做具体限定。则该步骤202具体包括:移动终端获取本地显示屏尺寸和预设缩放比例,并以本地显示屏尺寸为指定应用屏幕的初始尺寸,按照预设缩放比例,将该指定应用屏幕的指定区域进行缩放,获取缩放后的缩略图,并截取缩放后的缩略图,得到指定区域截图。
[0048]该截图的具体方法可以通过调用drawFBO完成,本领域技术人员可以获知,drawFBO是一种画图方法,该画图方法通过调用一预设显示设备获取显示屏当前的图像,并读取该预设显示设备的缓冲区像素,使用该缓冲区像素生成Bitmap图像,由于drawFBO是通过预设显示设备进行画图,其范围也包括该显示屏的状态栏,扩大了截屏的范围。
[0049]例如,该drawFBO函数具体可以有如下表示:
[0050]
【权利要求】
1.一种用于移动终端的应用屏幕截图方法,其特征在于,包括: 接收切换指令,所述切换指令用于将所述移动终端的指定应用切换到后台运行; 截取所述指定应用的应用屏幕的指定区域,得到指定区域截图; 保存所述指定区域截图; 将所述指定应用切换到后台运行。
2.根据权利要求1所述的方法,其特征在于,所述将所述指定应用切换到后台运行之后包括: 当接收到查看后台运行的后台应用的指令时,获取所述后台应用的指定区域截图,并显示所述后台应用的指定区域截图,其中所述后台应用的指定区域截图为所述保存的指定区域截图。
3.根据权利要求1或2所述的方法,其特征在于,截取所述指定应用的应用屏幕的指定区域,得到指定区域截图,具体包括: 根据所述移动终端的本地显示屏尺寸和预设缩放比例,将所述指定应用的应用屏幕的指定区域进行缩放,并截取所述缩放后的缩略图,得到指定区域截图。
4.一种用于移动终端的应用屏幕截图装置,其特征在于,包括: 接收模块,用于切换指令,所述切换指令用于将所述移动终端的指定应用切换到后台运行; 截图模块,用于截取所述指定应用的应用屏幕的指定区域,得到指定区域截图; 保存模块,用于保存所述指定区域截图; 切换模块,用于将所述指定应用切换到后台运行。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括: 显示模块,用于当接收到查看后台运行的后台应用的指令时,获取所述后台应用的指定区域截图,并显示所述后台应用的指定区域截图,其中所述后台应用的指定区域截图为所述保存的指定区域截图。
6.根据权利要求4或5所述的装置,所述截图模块包括: 缩放单元,用于根据所述移动终端的本地显示屏尺寸和预设缩放比例,将所述指定应用的应用屏幕的指定区域进行缩放; 截图单元,用于截取所述缩放后的缩略图,得到指定区域截图。
【文档编号】G06F9/46GK103970598SQ201410195210
【公开日】2014年8月6日 申请日期:2011年10月26日 优先权日:2011年10月26日
【发明者】吴维彬 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1