适配多种屏幕分辨率的方法、存储设备及安卓设备技术

技术编号:19933584 阅读:23 留言:0更新日期:2018-12-29 04:20
本发明专利技术属于安卓开发技术领域,具体涉及一种适配多种屏幕分辨率的方法、存储设备及安卓设备。本发明专利技术的适配多种屏幕分辨率的方法包括以下步骤:服务进程调用系统接口创建虚拟屏幕及其显示缓冲区;服务进程设置输出屏幕与所述虚拟屏幕使用相同的显示缓冲区;服务进程获取所述虚拟屏幕以及所述输出屏幕的分辨率,并计算缩放参数;服务进程将所述显示缓冲区中的用户界面数据按照缩放参数显示在输出屏幕。本发明专利技术的技术方案可实现安卓应用程序只需提供一种分辨率的资源和配置,即可适应不同分辨率的安卓输出屏幕,简化开发过程,同时减小应用程序体积。

【技术实现步骤摘要】
适配多种屏幕分辨率的方法、存储设备及安卓设备
本专利技术属于安卓开发
,具体涉及一种适配多种屏幕分辨率的方法、存储设备及安卓设备。
技术介绍
随着智能设备的不断普及,安卓系统市场占有率不断扩大,成为第一大智能设备操作系统,被大量的移动终端或多媒体设备采用。由于安卓系统的开放性,安卓设备的屏幕碎片化问题越来越严重,一方面,各个厂商生产的安卓设备具有不同尺寸不同分辨率的屏幕,例如各种规格尺寸的智能手机屏幕,另一方面,适用于安卓系统外置连接的屏幕规格也不尽相同,例如不同分辨率、尺寸的液晶电视。在安卓应用程序开发过程中,经常会遇到类似问题:为1024*768分辨率屏幕准备的用户界面设计,运行在1280*720分辨率的屏幕上,很可能在右侧和下侧存在大量的空白;而1280*720的用户界面设计运行到1024*768分辨率的设备上,屏幕很可能显示不下。这些都给安卓应用程序的开发者提出了一个难题,如何开发出一个应用程序,可以适配各种不同分辨率的手机屏幕或外接屏幕,达到应用程序用户界面的最佳效果。申请号为201110176278.0的中国专利,公开了一种安卓应用程序自适应不同屏幕密度的方法,该方法提供一套基于dpi(屏幕像素密度)的分辨率适应机制,每个dpi需要应用程序有对应的图片资源,导致应用开发需要提供多套图片资源才能适应各种分辨率,不但开发过程繁琐,图片资源管理、维护易出错,而且会增加应用程序打包后的文件大小。申请号为201310133232.X的中国专利,公开了一种图像自适应分辨率显示的方法,该方法通过应用程序动态生成对应分辨率的资源来匹配当前分辨率,但这种方式在资源数量比较多的时候生成所需规格资源的时间也会变长,增加了应用的初始化运行时间,用户体验不好。申请号为201610164574.1的中国专利,公开了一种基于百分比的Android手机屏幕适配方法,该方法通过生成每一种所需分辨率和标准分辨率的的比例配置文件,实现应用程序布局缩放,该方法的缺点在于,对新的分辨率无法自动适配,需要手动生成配置重新打包应用程序,同时,各种分辨率的配置文件也增加了应用程序的文件大小。
技术实现思路
本专利技术的目的之一在于克服以上缺点,提供一种适配多种屏幕分辨率的方法,只需要一套标准分辨率的资源和配置,即可适应不同分辨率的安卓输出屏幕,在简化开发过程的同时减小应用程序的文件大小。为了解决上述技术问题,本专利技术提供了一种适配多种屏幕分辨率的方法,包括以下步骤:服务进程调用系统接口创建虚拟屏幕及其显示缓冲区;服务进程设置输出屏幕与所述虚拟屏幕使用相同的显示缓冲区;服务进程获取所述虚拟屏幕以及所述输出屏幕的分辨率,并计算缩放参数;服务进程将所述显示缓冲区中的用户界面数据按照缩放参数显示在输出屏幕。本专利技术的技术方案,通过在安卓系统设置服务进程,由服务进程根据虚拟屏幕分辨率和屏幕设备的分辨率,进行用户界面数据的缩放适配处理,应用程序将用户界面数据画至固定分辨率的虚拟屏幕,和现有技术相比,本专利技术将屏幕适配的工作从应用端转移到了安卓框架层,不但简化了应用程序开发过程,而且还减少了应用程序文件大小。进一步地,所述的适配多种屏幕分辨率的方法,还包括以下步骤:当所述输出屏幕发生变化时,服务进程重新获取所述输出屏幕的分辨率,重新计算缩放参数。通过服务端自动重新计算缩放比例,可以实现一套标准分辨率的资源配置和任意分辨率屏幕的适配,应用程序端无需做任何调整。进一步地,所述的适配多种屏幕分辨率的方法,由应用程序向所述虚拟屏幕的显示缓冲区写入用户界面数据。进一步地,所述输出屏幕为主屏幕和/或外部屏幕。本专利技术的技术方案适用于主屏幕或外接屏幕,可实现应用程序的单屏或双屏同时输出。进一步地,所述缩放参数包括横向缩放参数和纵向缩放参数。进一步地,所述服务进程为SurfaceFlinger系统进程。相应地,本专利技术还提供了一种存储设备,其中存储有指令集,所述指令集用于执行:服务进程调用系统接口创建虚拟屏幕及其显示缓冲区;服务进程设置输出屏幕与所述虚拟屏幕使用相同的显示缓冲区;服务进程获取所述虚拟屏幕以及所述输出屏幕的分辨率,并计算缩放参数;服务进程将所述显示缓冲区中的用户界面数据按照缩放参数显示在输出屏幕。进一步地,所述指令集还用于执行:当所述输出屏幕发生变化时,服务进程重新获取所述输出屏幕的分辨率,重新计算缩放参数。相应地,本专利技术还提供了一种适配多种屏幕分辨率的安卓设备,存储有服务进程和应用程序,其中,服务进程,用于执行:服务进程调用系统接口创建虚拟屏幕及其显示缓冲区;服务进程设置输出屏幕与所述虚拟屏幕使用相同的显示缓冲区;服务进程获取所述虚拟屏幕以及所述输出屏幕的分辨率,并计算缩放参数;服务进程将所述显示缓冲区中的用户界面数据按照缩放参数显示在输出屏幕;应用程序,用于执行:应用程序向所述虚拟屏幕的显示缓冲区写入用户界面数据。进一步地,所述服务进程还用于执行:当所述输出屏幕发生变化时,服务进程重新获取所述输出屏幕的分辨率,重新计算缩放参数。综上所述,本专利技术技术方案的有益效果有:通过在安卓系统设置服务进程,由服务进程根据虚拟屏幕的分辨率和屏幕设备的分辨率,进行用户界面数据的缩放适配处理,应用程序将用户界面数据画至固定分辨率的虚拟屏幕,和现有技术相比,本专利技术将屏幕适配的工作从应用端转移到了安卓框架层,不但简化了应用程序开发过程,而且还减少了应用程序文件大小;通过服务端自动重新计算缩放比例,可以实现一套标准分辨率的资源配置和任意分辨率屏幕的适配,应用程序端无需做任何调整;适用于主屏幕或外接屏幕,可实现应用程序的单屏或双屏同时输出。附图说明图1是本专利技术的一种适配多种屏幕分辨率的方法步骤流程图。图2是本专利技术的一种存储设备结构图。图3是本专利技术的一种适配多种屏幕分辨率的安卓设备结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在目前的安卓技术开发领域,为解决安卓应用程序适配各种不同规格的屏幕这一技术问题,存在着各种不同的技术方案,但通常都是在应用程序端进行各种分辨率的适配处理,这种处理方式始终无法避免以下问题:一,不能枚举出所有的屏幕分辨率,无法实现百分百的适配;二,应用程序打包了各种分辨率下的资源或配置,无形中增加了应用程序的文件大小,适配度越高的应用程序越臃肿。本专利技术的技术方案,通过在安卓系统设置服务进程,将屏幕适配的工作从应用端转移到了安卓框架层,不但简化了应用程序开发过程,而且还减少了应用程序文件大小。如图1,是本专利技术的一种适配多种屏幕分辨率的方法步骤流程图,包括以下步骤:步骤1、服务进程调用系统接口创建虚拟屏幕及其显示缓冲区;本专利技术的技术方案,在安卓系统的框架层中部署一服务进程,用于统一管理安卓系统的显示设备,同时处理所有应用程序的屏幕显示。需要进行界面显示的应用程序启动时候与该服务进程进行通讯,将应用程序的用户界面(UI)数据发送给服务进程,由服务进程对所有应用程序的用户界面数据进行渲染并输出到屏幕。在服务进程初始化阶段,通过安卓系统接口本文档来自技高网
...

【技术保护点】
1.一种适配多种屏幕分辨率的方法,其特征在于,包括以下步骤:服务进程调用系统接口创建虚拟屏幕及其显示缓冲区;服务进程设置输出屏幕与所述虚拟屏幕使用相同的显示缓冲区;服务进程获取所述虚拟屏幕以及所述输出屏幕的分辨率,并计算缩放参数;服务进程将所述显示缓冲区中的用户界面数据按照缩放参数显示在输出屏幕。

【技术特征摘要】
1.一种适配多种屏幕分辨率的方法,其特征在于,包括以下步骤:服务进程调用系统接口创建虚拟屏幕及其显示缓冲区;服务进程设置输出屏幕与所述虚拟屏幕使用相同的显示缓冲区;服务进程获取所述虚拟屏幕以及所述输出屏幕的分辨率,并计算缩放参数;服务进程将所述显示缓冲区中的用户界面数据按照缩放参数显示在输出屏幕。2.如权利要求1所述的适配多种屏幕分辨率的方法,其特征在于,还包括以下步骤:当所述输出屏幕发生变化时,服务进程重新获取所述输出屏幕的分辨率,重新计算缩放参数。3.如权利要求1或2所述的适配多种屏幕分辨率的方法,其特征在于,由应用程序向所述虚拟屏幕的显示缓冲区写入用户界面数据。4.如权利要求1或2所述的适配多种屏幕分辨率的方法,其特征在于,所述输出屏幕为主屏幕和/或外部屏幕。5.如权利要求1或2所述的适配多种屏幕分辨率的方法,其特征在于,所述缩放参数包括横向缩放参数和纵向缩放参数。6.如权利要求1或2所述的适配多种屏幕分辨率的方法,其特征在于,所述服务进程为SurfaceFlinger系统进程。7.一种存储设备,其中存储有指令集,所述指令集用于执行:服务进程...

【专利技术属性】
技术研发人员:郑远游昌宁林鎏娟
申请(专利权)人:福建星网视易信息系统有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1