CN111552519A - 加载方法、加载装置、电子设备和计算机可读存储介质 - Google Patents

加载方法、加载装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111552519A
CN111552519A CN202010259861.7A CN202010259861A CN111552519A CN 111552519 A CN111552519 A CN 111552519A CN 202010259861 A CN202010259861 A CN 202010259861A CN 111552519 A CN111552519 A CN 111552519A
Authority
CN
China
Prior art keywords
map
block
ratio
scaling
relative
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
Application number
CN202010259861.7A
Other languages
English (en)
Other versions
CN111552519B (zh
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.)
Shanghai Gaussian Automation Technology Development Co Ltd
Original Assignee
Shanghai Gaussian Automation Technology Development 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 Shanghai Gaussian Automation Technology Development Co Ltd filed Critical Shanghai Gaussian Automation Technology Development Co Ltd
Priority to CN202010259861.7A priority Critical patent/CN111552519B/zh
Publication of CN111552519A publication Critical patent/CN111552519A/zh
Application granted granted Critical
Publication of CN111552519B publication Critical patent/CN111552519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Instructional Devices (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供了一种地图的加载方法。所述地图为复杂公共区域的大地图,所述加载方法包括获取当前地图的第一相对缩放比;根据缩放操作获取第二相对缩放比;根据所述第一相对缩放比和所述第二相对缩放比来计算分块缩放比;根据所述分块缩放比对所述地图进行分块以得到一个或多个块图;及将至少部分位于显示区域内的块图加载到内存。本申请还公开了一种加载装置、电子设备和非易失性计算机可读存储介质。在缩放比例较小时,可保证用户能够看到完整的地图,保证用户体验,而在缩放比例较大时,只需加载位于显示区域内的块图而无需加载整个地图进内存,能够节省内存的使用量,防止发生内存溢出问题。

Description

加载方法、加载装置、电子设备和计算机可读存储介质
技术领域
本申请涉及图像处理技术领域,特别涉及一种加载方法、加载装置、电子设备和非易失性计算机可读存储介质。
背景技术
在应用程序,特别是安卓的应用程序运行时,都离不开图片的加载,现有技术中,一般是将图片直接加载进内存然后从内存中再获取到图片的信息展示到屏幕上。然而,当应用程序加载大图(如地图应用中的地图)时,内存中的图片大小会超过该应用程序被分配的内存的总大小,进而导致出现内存溢出。
发明内容
有鉴于此,本申请的实施例提供了一种加载方法、加载装置、电子设备和非易失性计算机可读存储介质。
本申请实施方式的地图的加载方法中,所述地图为复杂公共区域的大地图,所述加载方法包括获取当前地图的第一相对缩放比;根据缩放操作获取第二相对缩放比;根据所述第一相对缩放比和所述第二相对缩放比来计算分块缩放比;根据所述分块缩放比对所述地图进行分块以得到一个或多个块图;及将至少部分位于显示区域内的块图加载到内存。
在某些实施方式中,所述初始地图的初始缩放比为原始地图在所述显示区域完全显示时的缩放比;所述初始缩放比根据所述原始地图的长边分辨率和所述显示区域的长边分辨率的比值确定;或者,所述初始缩放比根据所述原始地图的长边分辨率和所述显示区域的短边分辨率的比值确定。
本实施方式中,初始缩放比根据原始地图的长边分辨率和显示区域的长边分辨率的比值确定时,缩放后的原始地图(即,初始地图)的长边和显示区域长边相等,缩放比较大,初始地图较大;初始缩放比根据原始地图的长边分辨率和显示区域的短边分辨率的比值确定时,缩放后的原始地图(即,初始地图)的长边和显示区域的短边相等,缩放比较小,初始地图较小,保证用户即使旋转初始地图后,整个初始地图仍位于显示区域内。
在某些实施方式中,所述获取当前地图的第一相对缩放比,包括:根据初始地图缩放到所述当前地图接收的缩放操作确定所述第一相对缩放比;所述根据缩放操作获取第二相对缩放比,包括:获取所述当前地图接收的缩放操作中缩放前的触摸点的第一位置及缩放后的触摸点的第二位置;及根据所述第一位置和第二位置计算所述第二相对缩放比。
本实施方式中,根据缩放操作前后的第一位置和第二位置,能够准确的确定相对缩放比。
在某些实施方式中,所述加载方法还包括:保存所述分块缩放比及对应的所述块图到缓存。
本实施方式中,在对地图分块完成后,将分块缩放比和对应的块图保存到缓存,能够在下次缩放后的分块缩放比为已保存的分块缩放比时直接从缓存取用,无需再次对地图进行分块,缩放效率较高。
在某些实施方式中,所述加载方法还包括:判断所述缓存中是否存在与所述分块缩放比对应的所述块图;若是,则从所述缓存中取出与所述分块缩放比对应的所述块图加载到内存;及若否,则进入所述根据所述分块缩放比对所述地图进行分块以得到一个或多个块图的步骤。
本实施方式中,通过判断分块缩放比对应的块图是否已经保存,在未保存时进行分块,在已保存时直接从缓存中取出加载到内存,能够提高缩放的显示效率,从而提高用户体验。
在某些实施方式中,所述根据所述分块缩放比对所述地图进行分块以得到一个或多个块图,包括:根据所述分块缩放比将所述地图分为2n个所述块图,其中,n根据所述分块缩放比向上取整得到的缩放值确定。
本实施方式中,相较于块图数量和向上取整后的分块缩放比相同,块图数量较少,每个块图的大小较大而言,将地图分为2n个块图可使得块图数量更多,每个块图更小,使得至少部分位于显示区域内的块图中,位于显示区域之外的图像部分较少,进一步减少加载地图所需的内存。
在某些实施方式中,所述将至少部分位于显示区域内的块图加载到内存,包括:根据缩放前位于所述显示区域内的第一地图区域及所述第二相对缩放比确定缩放后位于所述显示区域内的第二地图区域;及将至少部分位于所述第二地图区域的所述块图加载到内存。
本实施方式中,根据第一地图区域、缩放操作的缩放中心和第二相对缩放比即可准确地确定缩放后的地图中位于显示区域的第二地图区域,保证加载的地图部分是用户想要查看的部分。
本申请实施方式的地图的加载装置中,所述地图为复杂公共区域的大地图,所述加载装置包括第一获取模块、第二获取模块、计算模块、分块模块和加载模块。所述第一获取模块用于获取当前地图的第一相对缩放比;所述第二获取模块用于根据缩放操作获取第二相对缩放比;所述计算模块用于根据所述第一相对缩放比和所述第二相对缩放比来计算分块缩放比;所述分块模块用于根据所述分块缩放比对所述地图进行分块以得到一个或多个块图;所述加载模块用于将至少部分位于显示区域内的块图加载到内存。
在某些实施方式中,所述第一获取模块还用于根据初始地图缩放到所述当前地图接收的缩放操作确定所述第一相对缩放比;所述第二获取模块还用于获取所述当前地图接收的缩放操作中缩放前的触摸点的第一位置及缩放后的触摸点的第二位置;及根据所述第一位置和第二位置计算所述第二相对缩放比。
在某些实施方式中,所述初始地图的初始缩放比为原始地图在所述显示区域完全显示时的缩放比;所述初始缩放比根据所述原始地图的长边分辨率和所述显示区域的长边分辨率的比值确定;或者,所述初始缩放比根据所述原始地图的长边分辨率和所述显示区域的短边分辨率的比值确定。
在某些实施方式中,所述加载装置还包括保存模块。所述保存模块用于保存所述分块缩放比及对应的所述块图到缓存。
在某些实施方式中,所述加载装置还包括判断模块、取出模块和处理模块。所述判断模块用于判断所述缓存中是否存在与所述分块缩放比对应的所述块图;所述取出模块用于在存在与所述分块缩放比对应的所述块图时,从所述缓存中取出与所述分块缩放比对应的所述块图加载到内存;所述处理模块用于在不存在与所述分块缩放比对应的所述块图时,根据所述分块缩放比对所述地图进行分块以得到一个或多个所述块图。
在某些实施方式中,所述分块模块还用于根据所述分块缩放比将所述地图分为2n个所述块图,其中,n根据所述分块缩放比向上取整得到的缩放值确定。
在某些实施方式中,所述加载模块还用于根据缩放前位于所述显示区域内的第一地图区域及所述第二相对缩放比确定缩放后位于所述显示区域内的第二地图区域;及将至少部分位于所述第二地图区域的所述块图加载到内存。
本申请实施方式的电子装置包括显示器和处理器,所示显示器包括显示区域,所述处理器用于获取当前地图的第一相对缩放比;根据缩放操作获取第二相对缩放比;根据所述第一相对缩放比和所述第二相对缩放比来计算分块缩放比;根据所述分块缩放比对所述地图进行分块以得到一个或多个块图;及将至少部分位于显示区域内的块图加载到内存。
一种包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行所述加载方法。所述加载方法包括获取当前地图的第一相对缩放比;根据缩放操作获取第二相对缩放比;根据所述第一相对缩放比和所述第二相对缩放比来计算分块缩放比;根据所述分块缩放比对所述地图进行分块以得到一个或多个块图;及将至少部分位于显示区域内的块图加载到内存。
本申请的加载方法、加载装置、电子设备和非易失性计算机可读存储介质中,通过第一相对缩放比和第二相对缩放比确定的分块缩放比对地图进行分块以得到一个或多个块图,在分块缩放比较小时(如分块缩放比小于1),此时显示器可将整个地图均进行显示,此时地图被分成一个块图完全加载,保证用户能够看到整个地图;而在分块缩放比较大时(如分块缩放比大于1,为4),此时显示器不能完全显示整个地图,此时显示器仅能显示地图的1/4,此时地图可被分成4个块图,然后将至少部分位于显示区域内的块图加载到内存中以进行显示。如此,在缩放比例较小时,可保证用户能够看到完整的地图,保证用户体验,而在缩放比例较大时,只需加载位于显示区域内的块图而无需加载整个地图进内存,能够节省内存的使用量,防止发生内存溢出问题。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请某些实施方式的加载方法的流程示意图;
图2是本申请某些实施方式的加载装置的模块示意图;
图3是本申请某些实施方式的电子设备的平面示意图;
图4是本申请某些实施方式的电子设备的结构示意图;
图5至图7是本申请某些实施方式的加载方法的场景示意图;
图8是本申请某些实施方式的加载方法的流程示意图;
图9和图10是本申请某些实施方式的加载方法的场景示意图;
图11至图13是本申请某些实施方式的加载方法的流程示意图;
图14是本申请某些实施方式的加载装置的模块示意图;
图15和图16是本申请某些实施方式的加载方法的流程示意图;及
图17和图18是本申请某些实施方式的加载方法的场景示意图。
具体实施方式
以下结合附图对本申请的实施方式作进一步说明。附图中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。另外,下面结合附图描述的本申请的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的限制。
请参阅图1至图4,本申请实施方式的地图的加载方法中,所述地图为复杂公共区域的大地图,加载方法包括以下步骤:
011:获取当前地图的第一相对缩放比;
012:根据缩放操作获取第二相对缩放比;
013:根据第一相对缩放比和第二相对缩放比来计算分块缩放比;
014:根据分块缩放比对地图进行分块以得到一个或多个块图;及
015:将至少部分位于显示区域21内的块图加载到内存。
本申请实施方式的加载装置10包括第一获取模块11、第二获取模块12、计算模块13、分块模块14和加载模块15。第一获取模块11用于获取当前地图的第一相对缩放比;第二获取模块12用于根据缩放操作获取第二相对缩放比;计算模块13用于根据第一相对缩放比和第二相对缩放比来计算分块缩放比;分块模块14用于根据分块缩放比对地图进行分块以得到一个或多个块图;加载模块15用于将至少部分位于显示区域21内的块图加载到内存。也即是说,步骤011可以由第一获取模块11实现,步骤012可以由第二获取模块12实现,步骤013可以由计算模块13实现,步骤014可以由分块模块14实现,步骤015可以由加载模块15实现。
本申请实施方式的电子设备100包括显示器20和处理器30,显示器20包括显示区域21,显示区域21一般用于显示图像,处理器30用于获取当前地图的第一相对缩放比;根据缩放操作获取第二相对缩放比;根据第一相对缩放比和第二相对缩放比来计算分块缩放比;根据分块缩放比对地图进行分块以得到一个或多个块图;及将至少部分位于显示区域21内的块图加载到内存。也即是说,步骤011至步骤015可以由处理器30实现。
具体地,电子设备100还包括壳体40。处理器30可以是一个或多个,一个或多个处理器30均安装在壳体40内。处理器30可能是一个中央处理器30(Central ProcessingUnit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
更具体地,电子设备100可以是手机、平板电脑、显示器、笔记本电脑、柜员机、闸机、智能手表、头显设备、游戏机等。本申请实施方式以电子设备100是平板电脑为例进行说明,可以理解,电子设备100的具体形式并不限于平板电脑。壳体40还可用于安装电子设备100的成像装置、供电装置、通信装置(通信装置能够进行无线通信和有线通信)等功能模块,以使壳体40为功能模块提供防尘、防摔、防水等保护。电子设备100还可包括输入/输出接口,以和输入/输出装置(如耳机)连接。
处理器30、成像装置、通信装置等能够通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
电子设备100一般会安装不同的应用程序,每个应用程序在启动时,系统需要给该应用程序分配内存,而每个应用程序分配的内存是有限制的,不可能根据应用程序占用的内存无限制的分配对应大小的内存,例如,搭载安卓系统的电子设备100中,目前配置较好的旗舰产品,一般为每个应用程序分配的内存也低于256兆(M),每个应用程序运行本身是要占用内存的大部分,因此,留给图片加载的剩余内存并不会很多,而一张png格式或者jpg格式的图片加载到内存中所消耗的内存大小,和图片格式关系不大,主要在于图片分辨率和图片以何种标准解析进入内存,例如,以ALPHA-8标准解析进入内存时每个像素占1B,以RGB_565标准解析进入内存时每个像素占2B,以ARGB_4444标准解析进入内存时每个像素占2B,以ARGB_8888标准解析进入内存时每个像素占4B,以RGB_F16标准解析进入内存时每个像素占8B,所以当图片为本申请的复杂公共区域的大地图时,所需的内存将可能是几十兆,极有可能导致内存溢出导致应用程序无法继续运行。
而在查看地图时,用户一般会进行缩放(一般为放大,且放大倍数较大)以查看想要了解的区域的地图,此时地图位于显示区域21之外的图像是不需要加载进入内存的,因此可通过图片的缩放情况,只加载位于显示区域21内的图像,从而只需加载地图的一部分进入内存,内存占用较小,不容易发生内存溢出。
具体实现流程如下,处理器30先获取当前地图的第一相对缩放比,第一相对缩放比是当前地图相对初始地图的缩放比,初始地图是原始地图完全显示在显示区域21内时的地图,初始地图具有一个相对原始地图的初始缩放比,初始缩放比为原始地图在显示区域21完全显示时的缩放比(即,初始地图相对于原始地图的缩放比);初始缩放比根据原始地图的长边分辨率和显示区域21的长边分辨率的比值确定,如原始地图的长边分辨率为10000,显示区域21的长边分辨率为1600,则初始缩放比为1600/10000=0.16;如此,如图5所示,缩放后的原始地图(即,初始地图S1)的长边和显示区域21长边相等,缩放比较大,初始地图S1较大;或者,初始缩放比根据原始地图的长边分辨率和显示区域21的短边分辨率的比值确定,如原始地图的长边分辨率为10000,显示区域21的短边分辨率为900,则初始缩放比为900/10000=0.09;如此,如图6所示,缩放后的原始地图(即,初始地图S1)的长边和显示区域21的短边相等,缩放比较小,初始地图S1较小,保证用户即使旋转初始地图S1后,整个初始地图S1仍位于显示区域21内。
第一相对缩放比根据对初始地图的缩放操作即可得到,若当前地图未经过缩放,则当前地图相对初始地图的缩放比(即,第一相对缩放比)为1,然后再根据当前地图接收到的缩放操作获取第二相对缩放比,第二相对缩放比是缩放后的当前地图相对缩放前的当前地图的缩放比,接着根据第一相对缩放比和第二相对缩放比即可计算得到分块缩放比,分块缩放比为缩放后的地图相对初始地图的缩放比。随后根据分块缩放比对地图进行分块,以得到一个或多个块图,例如,块图的数量和分块缩放比保持一致,例如分块缩放比为1,则块图的数量为1,分块缩放比为2则块图的数量为2,在分块缩放比不是整数时则向上取整,如分块缩放比为1.2则块图的数量为2,分块缩放比为2.5则块图的数量为3。
当分块缩放比小于1时,此时整个地图均可在显示区域21内显示,此时需要将整个地图均加载到内存,以保证用户的查看体验。由于原始地图非常大,完全显示在显示区域21内时,受限于显示器20的分辨率,用户并不能看清地图的细节,因此,在分块缩放比小于1完全显示整个地图时,可将地图转换为分辨率较小的地图,只需能够显示地图中所有地区的大体轮廓即可,如此,可保证用户能够查看地图全貌,但又不是因整个地图的加载导致出现内存溢出问题。
而当分块缩放比大于1(如分块缩放比为4)时,显示区域21只能显示部分地图(初始地图的1/4),此时只需确定哪些块图至少部分位于显示区域21内,然后在加载地图时将对应的块图加载到内存以进行显示。如图7所示,块图a和块图b均部分位于显示区域21内,此时只需加载块图a和块图b到内存即可,而无需加载块图c和块图d。如此,用户想要查看的地图区域可完全显示在显示区域21内,保证了用户体验,且不需要加载整个地图到内存中,减少了地图加载所需的内存,可防止发生内存溢出。
本申请的加载方法、加载装置10和电子设备100中,通过第一相对缩放比和第二相对缩放比确定的分块缩放比对地图进行分块以得到一个或多个块图,在分块缩放比较小时(如分块缩放比小于1),此时显示区域21可将整个地图均进行显示,此时地图被分成一个块图完全加载,且该地图会被转换较小分辨率进行显示,保证用户能够看到整个地图的全貌的同时使得地图的内存占用也较小;而在分块缩放比较大时(如分块缩放比大于1,为4),此时显示区域21不能完全显示整个地图,此时显示区域21仅能显示地图的1/4,此时地图可被分成4个块图,然后将至少部分位于显示区域21内的块图加载到内存中以进行显示。如此,在缩放比例较小时,可保证用户能够看到完整的地图,保证用户体验,而在缩放比例较大时,只需加载位于显示区域21内的块图而无需加载整个地图进内存,能够节省内存的使用量,防止发生内存溢出问题。
请参阅图2、图3和图8,在某些实施方式中,步骤011包括:
0111:根据初始地图缩放到当前地图接收的缩放操作确定第一相对缩放比;
步骤012包括:
0121:获取当前地图接收的缩放操作中缩放前的触摸点的第一位置及缩放后的触摸点的第二位置;及
0122:根据第一位置和第二位置计算第二相对缩放比。
在某些实施方式中,第一获取模块11还用于根据初始地图缩放到当前地图接收的缩放操作确定第一相对缩放比;第二获取模块12还用于获取当前地图接收的缩放操作中缩放前的触摸点的第一位置及缩放后的触摸点的第二位置;及根据第一位置和第二位置计算第二相对缩放比。也即是说,步骤0111可以由第一获取模块11实现,步骤0121和步骤0122可以由第二获取模块12实现。
在某些实施方式中,处理器30还用于根据初始地图缩放到当前地图接收的缩放操作确定第一相对缩放比;获取当前地图接收的缩放操作中缩放前的触摸点的第一位置及缩放后的触摸点的第二位置;及根据第一位置和第二位置计算第二相对缩放比。也即是说,步骤0111、步骤0121和步骤0122可以由处理器30实现。
具体地,在用户对电子设备100的显示区域21进行触摸操作时,电子设备100能够获取用户手指的位置,缩放操作中,一般是两指靠拢以进行缩小,两指远离以进行放大,当然,对于多点触控的电子设备100而言,能够接收更多手指的触控,例如大拇指和其他四个手指靠拢以进行缩小,大拇指和其他四个手指远离以进行放大,下面以两指进行缩放为例进行说明。
以初始图像S1的缩放为例,缩放前后用户手指的触摸点的位置和缩放后的触摸点的位置是变化的(靠拢或远离),处理器30根据缩放前的触摸点的第一位置P1(即用户手指进行缩放操作时两个手指所触摸的位置,如图9所示)及缩放后的触摸点的第二位置P2(即用户手指进行缩放操作后两个手指所触摸的位置,如图10所示)即可确定缩放操作对应的缩放比。具体为:处理器30根据分别对应两个手指的两个第一位置P1的坐标(具体为第一位置P1在屏幕坐标系下的坐标)即可计算缩放前两个第一位置P1之间的第一距离D1;处理器30再根据分别对应两个手指的两个第二位置P2的坐标(具体为第二位置P2在屏幕坐标系下的坐标)即可计算缩放后两个第二位置P2之间的第二距离;根据第一距离和第二距离的比值即可确定缩放操作对应的相对缩放比。例如,相对缩放比为第二距离和第一距离的比值;或者,相对缩放比为第二距离和第一距离的比值乘以一个速度系数,该速度系数根据第一距离和第二距离的差值的绝对值以及缩放操作所用的时间确定,缩放操作所用的时间越短,第一距离和第二距离的差值的绝对值越大,则速度系数越大。
在确定第一相对缩放比时,根据初始地图接收的缩放操作中的第一距离和第二距离可确定第一相对缩放比,在确定第二相对缩放比时,根据当前地图接收的缩放操作中的第一距离和第二距离可确定第二相对缩放比。如此,能够准确的确定第一相对缩放比和第二相对缩放比。
请参阅图3、图11和图12,在某些实施方式中,加载方法还包括:
016:保存分块缩放比及对应的块图到缓存。
在某些实施方式中,加载装置10还包括保存模块16。保存模块16用于保存分块缩放比及对应的块图到缓存。也即是说,步骤016可以由保存模块16实现。
在某些实施方式中,处理器30还用于:保存分块缩放比及对应的块图到缓存。也即是说,步骤016可以由处理器30实现。
具体地,每次缩放后,处理器30都将分块缩放比和对应的块图保存到缓存,且保存方式为弱引用保存,弱引用保存的内存块会在系统内存不够的时候被系统自动回收掉。从而保证缓存的块图过多时,及时释放内存,防止出现内存溢出问题。在分块缩放比为已经保存在缓存中的缩放比时,就无需再次对地图进行分块,而是直接从缓存中取出即可。
请参阅图3、图13和图14,在某些实施方式中,加载方法还包括:
017:判断缓存中是否存在与分块缩放比对应的块图;
018:若存在与分块缩放比对应的块图,则从缓存中取出与分块缩放比对应的块图加载到内存;及
019:若不存在与分块缩放比对应的块图,则进入步骤014。
在某些实施方式中,加载装置10还包括判断模块17、取出模块18和处理模块19。判断模块17用于判断缓存中是否存在与分块缩放比对应的块图;取出模块18用于在存在与分块缩放比对应的块图时,从缓存中取出与分块缩放比对应的块图加载到内存;处理模块19用于在不存在与分块缩放比对应的块图时,根据分块缩放比对地图进行分块以得到一个或多个块图。也即是说,步骤017可以由判断模块17实现,步骤018可以由取出模块18,步骤019可以由处理模块19实现。
在某些实施方式中,处理器30还用于判断缓存中是否存在与分块缩放比对应的块图;若存在与分块缩放比对应的块图,从缓存中取出与分块缩放比对应的块图加载到内存;在不存在与分块缩放比对应的块图时,根据分块缩放比对地图进行分块以得到一个或多个块图。也即是说,步骤017、步骤018和步骤019可以由处理器30实现。
具体地,用户在对地图进行缩放操作时,有时候在放大后发现不是自己要找的区域,会再次缩小以查看地图全貌,然后再次在自己需要放大的区域进行缩放,也即是说,缩放比会先增大(用户进行放大),再减小(发现不是自己想要查看的区域时进行缩小),再增大(再次对想要放大的区域进行放大),在这个过程中,两次放大后的缩放比可能会刚好相同,或者差值的绝对值小于在预定差值(例如预定差值为1、2、3等),对应的块图的数量可能是相同的,如分块缩放比3.5和分块缩放比3.8对应的块图数量均为4。因此,分块的块图是可以复用的,而不需要每次缩放后均重新进行分块。
每次缩放后的分块缩放比和对应的块图均存在缓存中,处理器30根据第一相对缩放比和第二相对缩放比计算得到分块缩放比后,会先判断缓存中是否已经保存了该分块缩放比及与该分块缩放比对应的块图,若已经保存了与该分块缩放比对应的块图,则可直接从缓存中取出,缓存的读取速度较快且保存方式为软引用方式,在缓存快满时会自动释放保存时间较早的分块缩放比及其对应的块图,可避免发生内存溢出问题。而在未保存与该分块缩放比对应的块图时,则处理器30再根据分块缩放比对地图进行分块。如此,复用了缩放前已经保存的分块缩放比和对应的块图,能够提高缩放的显示效率(可从缓存更快的读取对应的块图以进行显示),从而提高用户体验。
请参阅图2、图3和图15,在某些实施方式中,步骤014包括:
0141:根据分块缩放比将地图分为2n个块图,其中,n根据分块缩放比向上取整得到的缩放值确定。
在某些实施方式中,分块模块14还用于根据分块缩放比将地图分为2n个块图,其中,n根据分块缩放比向上取整得到的缩放值确定。也即是说,步骤0141可以由分块模块14实现。
在某些实施方式中,处理器30还用于根据分块缩放比将地图分为2n个块图,其中,n根据分块缩放比向上取整得到的缩放值确定。也即是说,步骤0141可以由处理器30实现。
具体地,分块缩放比可能是整数或小数,在根据分块缩放比对地图进行分块时,可先向上取整得到一个整数的分块缩放比,如分块缩放比为3.4,则向上取整为4,分块缩放比为5.7,则向上取整为6;从而方便后续将地图分成整数块。在得到向上取整后的分块缩放比后,将地图分为2n个块图,n等于向上取整后的分块缩放比,如向上取整后的分块缩放比为4,则将地图分为24=16个,如向上取整后的分块缩放比为5,则将地图分为25=32个。如此,相较于块图数量和向上取整后的分块缩放比n相同,块图数量较少,每个块图的大小较大而言,将地图分为2n个块图可使得块图数量更多,每个块图更小,使得至少部分位于显示区域21内的块图中,位于显示区域21之外的图像部分较少,进一步减少加载地图所需的内存。
请参阅图2、图3和图16,在某些实施方式中,步骤015包括:
0151:根据缩放前位于显示区域21内的第一地图区域及第二相对缩放比确定缩放后位于显示区域21内的第二地图区域;及
0152:将至少部分位于第二地图区域的块图加载到内存并显示第二地图区域的图像数据。
在某些实施方式中,加载模块15还用于根据缩放前位于显示区域21内的第一地图区域及第二相对缩放比确定缩放后位于显示区域21内的第二地图区域;及将至少部分位于第二地图区域的块图加载到内存并显示第二地图区域的图像数据。也即是说,步骤0151和步骤0152可以由加载模块15实现。
在某些实施方式中,处理器30还用于根据缩放前位于显示区域21内的第一地图区域及第二相对缩放比确定缩放后位于显示区域21内的第二地图区域;及将至少部分位于第二地图区域的块图加载到内存并显示第二地图区域的图像数据。也即是说,步骤0151和步骤0152可以由处理器30实现。
具体地,在确定至少部分位于显示区域21内的块图以加载到内存时,处理器30首先获取缩放前的地图S2位于显示区域21的第一地图区域M1,然后根据用户缩放操作的缩放点(如双指缩放时,缩放前两个手指的触摸点的中点)确定缩放中心(如图17所示,缩放中心为第一地图区域M1的中心点),然后根据第二相对缩放比和缩放中心的位置,即可确定缩放后的地图S3位于显示区域21的第二地图区域M2(如图18所示),在加载时将至少部分位于第二地图区域M2的块图加载到内存以进行显示。如此,根据第一地图区域M1、缩放操作的缩放中心和第二相对缩放比即可准确地确定缩放后的地图S3中位于显示区域21的第二地图区域M2,保证加载的地图部分是用户想要查看的部分。
请再次参阅图4,本申请实施方式的一个或多个包含计算机可执行指令302的非易失性计算机可读存储介质300,处理器30能够通过总线和非易失性计算机可读存储介质300连接并进行通信以读取计算机可执行指令,当计算机可执行指令302被一个或多个处理器30执行时,使得处理器30可执行上述任一实施方式的启动方法。
例如,请结合图1至图3,当计算机可执行指令302被一个或多个处理器30执行时,使得处理器30执行以下步骤:
011:获取当前地图的第一相对缩放比;
012:根据缩放操作获取第二相对缩放比;
013:根据第一相对缩放比和第二相对缩放比来计算分块缩放比;
014:根据分块缩放比对地图进行分块以得到一个或多个块图;及
015:将至少部分位于显示区域21内的块图加载到内存。
再例如,请结合图3、图11和图12,当计算机可执行指令302被一个或多个处理器30执行时,处理器30还可以执行以下步骤:
016:保存分块缩放比及对应的块图到缓存。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上实施方式仅表达了本申请的其中几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。

Claims (10)

1.一种地图的加载方法,所述地图为复杂公共区域的大地图,其特征在于,包括:
获取当前地图的第一相对缩放比;
根据缩放操作获取第二相对缩放比;
根据所述第一相对缩放比和所述第二相对缩放比来计算分块缩放比;
根据所述分块缩放比对所述地图进行分块以得到一个或多个块图;及
将至少部分位于显示区域内的块图加载到内存。
2.根据权利要求1所述的加载方法,其特征在于,所述获取当前地图的第一相对缩放比,包括:
根据初始地图缩放到所述当前地图接收的缩放操作确定所述第一相对缩放比;
所述根据缩放操作获取第二相对缩放比,包括:
获取所述当前地图接收的缩放操作中缩放前的触摸点的第一位置及缩放后的触摸点的第二位置;及
根据所述第一位置和第二位置计算所述第二相对缩放比。
3.根据权利要求2所述的加载方法,其特征在于,所述初始地图的初始缩放比为原始地图在所述显示区域完全显示时的缩放比;所述初始缩放比根据所述原始地图的长边分辨率和所述显示区域的长边分辨率的比值确定;或者,
所述初始缩放比根据所述原始地图的长边分辨率和所述显示区域的短边分辨率的比值确定。
4.根据权利要求2所述的加载方法,其特征在于,所述加载方法还包括:
保存所述分块缩放比及对应的所述块图到缓存。
5.根据权利要求4所述的加载方法,其特征在于,所述加载方法还包括:
判断所述缓存中是否存在与所述分块缩放比对应的所述块图;
若是,则从所述缓存中取出与所述分块缩放比对应的所述块图加载到内存;及
若否,则进入所述根据所述分块缩放比对所述地图进行分块以得到一个或多个块图的步骤。
6.根据权利要求1所述的加载方法,其特征在于,所述根据所述分块缩放比对所述地图进行分块以得到一个或多个块图,包括:
根据所述分块缩放比将所述地图分为2n个所述块图,其中,n根据所述分块缩放比向上取整得到的缩放值确定。
7.根据权利要求1所述的加载方法,其特征在于,所述将至少部分位于显示区域内的块图加载到内存,包括:
根据缩放前位于所述显示区域内的第一地图区域及所述第二相对缩放比确定缩放后位于所述显示区域内的第二地图区域;及
将至少部分位于所述第二地图区域的所述块图加载到内存。
8.一种地图的加载装置,所述地图为复杂公共区域的大地图,其特征在于,所述加载装置包括:
第一获取模块,用于获取当前地图的第一相对缩放比;
第二获取模块,用于根据缩放操作获取第二相对缩放比;
计算模块,用于根据所述第一相对缩放比和所述第二相对缩放比来计算分块缩放比;
分块模块,用于根据所述分块缩放比对所述地图进行分块以得到一个或多个块图;及
加载模块,用于将至少部分位于显示区域内的块图加载到内存。
9.一种电子设备,其特征在于,所述电子设备包括显示器和处理器,所示显示器包括显示区域,所述处理器用于:
获取当前地图的第一相对缩放比;
根据缩放操作获取第二相对缩放比;
根据所述第一相对缩放比和所述第二相对缩放比来计算分块缩放比;
根据所述分块缩放比对所述地图进行分块以得到一个或多个块图;及
将至少部分位于显示区域内的块图加载到内存。
10.一种包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行权利要求1至7中任一项所述的检测方法。
CN202010259861.7A 2020-04-03 2020-04-03 加载方法、加载装置、电子设备和计算机可读存储介质 Active CN111552519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010259861.7A CN111552519B (zh) 2020-04-03 2020-04-03 加载方法、加载装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010259861.7A CN111552519B (zh) 2020-04-03 2020-04-03 加载方法、加载装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111552519A true CN111552519A (zh) 2020-08-18
CN111552519B CN111552519B (zh) 2022-12-20

Family

ID=72003816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010259861.7A Active CN111552519B (zh) 2020-04-03 2020-04-03 加载方法、加载装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111552519B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113029167A (zh) * 2021-02-25 2021-06-25 深圳市朗驰欣创科技股份有限公司 一种地图数据处理方法、地图数据处理装置及机器人

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1204102A (zh) * 1998-06-04 1999-01-06 中国地图出版社 电子地图中的图象处理方法
CN1924873A (zh) * 2006-09-19 2007-03-07 北京金山数字娱乐科技有限公司 游戏地图的存储方法及装置、游戏地图的显示方法及系统
CN1949222A (zh) * 2006-11-27 2007-04-18 北京金山软件有限公司 游戏地图的存储方法及系统、游戏地图的获取方法及系统
US20110115822A1 (en) * 2009-11-19 2011-05-19 Lg Electronics Inc. Mobile terminal and map searching method thereof
US20120309421A1 (en) * 2010-02-04 2012-12-06 Jan Nabbefeld Location-determining system and method
CN103428345A (zh) * 2012-05-17 2013-12-04 上海闻泰电子科技有限公司 手机终端地图数据缩放拖动显示系统的实现方法
US20150187337A1 (en) * 2013-05-15 2015-07-02 Google Inc. Resolving label collisions on a digital map
CN105022731A (zh) * 2014-04-16 2015-11-04 北京极海纵横信息技术有限公司 一种地图矢量瓦片缓存的方法
US20150332120A1 (en) * 2014-05-13 2015-11-19 Samsung Electronics Co., Ltd. Detecting and processing small text in digital media
CN107589924A (zh) * 2016-07-07 2018-01-16 北京四维新世纪信息技术有限公司 一种五层十五级组织结构的遥感数据移动端快速展示方法
US20190391915A1 (en) * 2018-06-20 2019-12-26 SK Hynix Inc. Memory system and operating mehtod thereof
CN110674209A (zh) * 2019-09-22 2020-01-10 武汉光庭信息技术股份有限公司 一种数据显示方法、设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1204102A (zh) * 1998-06-04 1999-01-06 中国地图出版社 电子地图中的图象处理方法
CN1924873A (zh) * 2006-09-19 2007-03-07 北京金山数字娱乐科技有限公司 游戏地图的存储方法及装置、游戏地图的显示方法及系统
CN1949222A (zh) * 2006-11-27 2007-04-18 北京金山软件有限公司 游戏地图的存储方法及系统、游戏地图的获取方法及系统
US20110115822A1 (en) * 2009-11-19 2011-05-19 Lg Electronics Inc. Mobile terminal and map searching method thereof
US20120309421A1 (en) * 2010-02-04 2012-12-06 Jan Nabbefeld Location-determining system and method
CN103428345A (zh) * 2012-05-17 2013-12-04 上海闻泰电子科技有限公司 手机终端地图数据缩放拖动显示系统的实现方法
US20150187337A1 (en) * 2013-05-15 2015-07-02 Google Inc. Resolving label collisions on a digital map
CN105022731A (zh) * 2014-04-16 2015-11-04 北京极海纵横信息技术有限公司 一种地图矢量瓦片缓存的方法
US20150332120A1 (en) * 2014-05-13 2015-11-19 Samsung Electronics Co., Ltd. Detecting and processing small text in digital media
CN107589924A (zh) * 2016-07-07 2018-01-16 北京四维新世纪信息技术有限公司 一种五层十五级组织结构的遥感数据移动端快速展示方法
US20190391915A1 (en) * 2018-06-20 2019-12-26 SK Hynix Inc. Memory system and operating mehtod thereof
CN110674209A (zh) * 2019-09-22 2020-01-10 武汉光庭信息技术股份有限公司 一种数据显示方法、设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MINMIN SHEN ET AL.: "《Super-resolution from observations with variable zooming ratios》", 《PROCEEDINGS OF 2010 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS》 *
姜代红: "基于影像金字塔的GIS地图动态漫游算法", 《计算机工程与设计》 *
张国超等: "嵌入式卫星地图的一种快速显示方法", 《郑州大学学报(工学版)》 *
沈永增 等: "《一种基于海量电子地图的空间拓扑分块检索算法》", 《计算机系统应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113029167A (zh) * 2021-02-25 2021-06-25 深圳市朗驰欣创科技股份有限公司 一种地图数据处理方法、地图数据处理装置及机器人

Also Published As

Publication number Publication date
CN111552519B (zh) 2022-12-20

Similar Documents

Publication Publication Date Title
US6961057B1 (en) Method and apparatus for managing and accessing depth data in a computer graphics system
CN107463627B (zh) 一种图片加载方法及终端
US8644643B2 (en) Convolution filtering in a graphics processor
CN105427236A (zh) 一种图像渲染方法及装置
EP2859447B1 (en) Virtual surface allocation
US10043489B2 (en) Virtual surface blending and BLT operations
US9235925B2 (en) Virtual surface rendering
US20050001848A1 (en) Method and apparatus using a two-dimensional circular data buffer for scrollable image display
US9959668B2 (en) Virtual surface compaction
CN104615375A (zh) 一种手持式电子设备图片缩放及播放内容切换的方法及装置
CN112102164A (zh) 一种图像处理方法、装置、终端及存储介质
CN112634235A (zh) 产品图像的边界检测方法和电子设备
CN111862204A (zh) 图像的视觉特征点的提取方法及相关装置
CN111552519B (zh) 加载方法、加载装置、电子设备和计算机可读存储介质
US6919908B2 (en) Method and apparatus for graphics processing in a handheld device
US20130236117A1 (en) Apparatus and method for providing blurred image
CN104978731A (zh) 一种信息处理方法及电子设备
CN113760596B (zh) 一种控制液晶显示屏显示方法、装置及介质
CN113703653A (zh) 图像处理方法、装置、设备和计算机可读存储介质
KR20180015564A (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
WO2019237286A1 (zh) 一种筛选局部特征点的方法及装置
EP4300979A1 (en) Display method, terminal, and storage medium
CN112102483B (zh) 电子教学白板动态显示三维模型的方法及装置
CN114166230A (zh) 一种数据访问的方法、装置、电子设备及存储介质
US20140201226A1 (en) Image display method and electronic device using the seme

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