一种基于iOS系统相册保存图片不重复的方法技术方案

技术编号:35030975 阅读:46 留言:0更新日期:2022-09-24 23:05
本发明专利技术提供一种基于iOS系统相册保存图片不重复的方法,包括以下步骤:安装于操作系统的某个APP应用程序具有三种状态,分别为:前台运行状态、后台运行状态和完全退出状态;当APP应用程序从完全退出状态转为前台运行状态时,创建全局变量,并将相册当前保存的所有图片的图片特征值存入全局变量;在所述APP应用程序从前台运行状态转为后台运行状态时,已创建的与该APP应用程序绑定的全局变量以及全局变量所存储的图片特征值,均维持不变;在所述APP应用程序从后台运行状态转为前台运行状态时,在转为前台运行状态的起始时刻,更新全局变量。本发明专利技术可有效降低手机内存及性能负担,同时有效保证iOS系统相册保存图片不重复。效保证iOS系统相册保存图片不重复。效保证iOS系统相册保存图片不重复。

【技术实现步骤摘要】
一种基于iOS系统相册保存图片不重复的方法


[0001]本专利技术涉及一种图片保存方法,具体涉及一种基于iOS系统相册保存图片不重复的方法。

技术介绍

[0002]在iOS APP开发过程中,需要保存图片到相册。通常用户在使用时多次操作会导致保存很多重复图片,不仅占用手机储存空间,也导致查阅相册体验非常差,对此必然影响到用户的体验。
[0003]为解决以上问题,目前常用的两种方法为:
[0004]第一种方法:图片保存到相册后,可以得到在相册中具有唯一性的图片名称。并将图片URL作为KEY值,图片名称作为VALUE值,按照一一对应的键值对缓存本地。
[0005]当需要保存A图片时,通过A图片的URL查找本地缓存,本地缓存若存在相应的图片名称,则根据该名称从相册获取图片,如果能获取到图片,则表明相册中已保存相同的图片,则A图片不再保存到相册;反之,将A图片保存到相册,生成A图片的图片名称,再将A图片的图片名称和URL保存到本地缓存。
[0006]此种操作方法具有以下问题:同一张图片可能存在多个URL,图片URL不具有唯一性。因此,以上方法会将具有不同URL但图片相同的图片,保存到相册,导致相册存在重复图片。另外,需要本地缓存标记已经保存的图片相关信息,占用手机多余存储空间。总之,相册保存图片不重复达不到理想效果。
[0007]第二种方法:每次保存图片时,遍历iOS系统相册所有图片,并将需保存的图片与相册中每张图片进行匹配:如果相册存在匹配相同的图片,则判定图片重复,不进行图片保存操作;否则判定两张图片不重复,进行图片保存操作。
[0008]此种操作方法具有以下问题:图像匹配算法复杂,严重增加手机性能负担。

技术实现思路

[0009]针对现有技术存在的缺陷,本专利技术提供一种基于iOS系统相册保存图片不重复的方法,可有效解决上述问题。
[0010]本专利技术采用的技术方案如下:
[0011]本专利技术提供一种基于iOS系统相册保存图片不重复的方法,包括以下步骤:
[0012]步骤1,操作系统配置相册;所述相册用于长期保存图片;
[0013]安装于所述操作系统的某个APP应用程序具有三种状态,分别为:前台运行状态、后台运行状态和完全退出状态;
[0014]当所述APP应用程序从完全退出状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤2;然后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;
[0015]在所述APP应用程序从前台运行状态转为后台运行状态时,已创建的与该APP应用
程序绑定的全局变量以及全局变量所存储的图片特征值,均维持不变;
[0016]在所述APP应用程序从后台运行状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤4;步骤4执行结束后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;
[0017]步骤2,全局变量创建过程;遍历所述相册当前保存的所有图片,假设为n张图片,分别计算得到每张图片的图片特征值,然后将n个图片特征值存入到所述全局变量;
[0018]步骤3,图片保存过程:
[0019]当所述APP应用程序接收到需保存到相册的图片A时,所述APP应用程序计算得到图片A的图片特征值,表示为:图片特征值F(A);
[0020]然后,所述APP应用程序比较图片特征值F(A)与全局变量当前存储的各个图片特征值,判断全局变量当前存储的各个图片特征值中,是否存在与图片特征值F(A)相同的图片特征值,如果存在,则表明该图片A已保存于相册,返回步骤1;如果不存在,则将图片A存储到相册,并将图片特征值F(A)存入到全局变量,返回步骤1;
[0021]步骤4,全局变量更新过程:
[0022]遍历所述相册当前保存的所有图片,分别计算得到每张图片的图片特征值,然后将获得的每个图片特征值存入到所述全局变量,完成全局变量更新过程,本步骤4结束。
[0023]优选的,采用以下方法,计算图片A的图片特征值F(A):
[0024]将图片A统一缩放成宽度为m1个像素高度为m2个像素的尺寸,得到图片A1;
[0025]将图片A1转换为灰度图片,得到图片A2;
[0026]对于每行的m1个像素,依次表示为:P(1,1),P(1,2),

,P(1,m1);比较相邻像素的差异,方法如下:
[0027]比较P(1,1)的像素值是否大于P(1,2)的像素值,如果是,则令差异值T(1,1)=1;否则,令差异值T(1,1)=0;
[0028]比较P(1,2)的像素值是否大于P(1,3)的像素值,如果是,则令差异值T(1,2)=1;否则,令差异值T(1,2)=0;
[0029]依此类推
[0030]比较P(1,m1‑
1)的像素值是否大于P(1,m1)的像素值,如果是,则令差异值T(1,m1‑
1)=1;否则,令差异值T(1,m1‑
1)=0;
[0031]因此,对于每行的m1个像素,共得到m1‑
1个差异值;由于共有m2列,共得到m2*(m1‑
1)个差异值,组成差异矩阵,该差异矩阵即为图片A的图片特征值F(A)。
[0032]优选的,还包括:
[0033]步骤5,当所述APP应用程序从前台运行状态或后台运行状态,转为完全退出状态时,同时销毁与所述APP应用程序绑定的所述全局变量以及所述全局变量存入的所有图片特征值。
[0034]本专利技术提供的一种基于iOS系统相册保存图片不重复的方法具有以下优点:
[0035]本专利技术可有效降低手机内存及性能负担,同时有效保证iOS系统相册保存图片不重复。
附图说明
[0036]图1为本专利技术提供的基于iOS系统相册保存图片不重复的方法的流程示意图。
具体实施方式
[0037]为了使本专利技术所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0038]本专利技术提供一种基于iOS系统相册保存图片不重复的方法,保证iOS系统相册保存图片不重复,优化手机储存空间,提高相册用户体验。相比其他方法,流程更简化,判断结果更准确,判断算法更简单,即便APP卸载重装,也可以达到系统相册保存图片不重复的效果。
[0039]参考图1,本专利技术提供一种基于iOS系统相册保存图片不重复的方法,包括以下步骤:
[0040]步骤1,操作系统配置相册;所述相册用于长期保存图片;
[0041]安装于所述操作系统的某个APP应用程序具有三种状态,分别为:前台运行状态、后台运行状态和完全退出状态;其中,操作系统指iOS系统。
[0042]当所述APP应用程序从完全退出状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤2;然后本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于iOS系统相册保存图片不重复的方法,其特征在于,包括以下步骤:步骤1,操作系统配置相册;所述相册用于长期保存图片;安装于所述操作系统的某个APP应用程序具有三种状态,分别为:前台运行状态、后台运行状态和完全退出状态;当所述APP应用程序从完全退出状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤2;然后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;在所述APP应用程序从前台运行状态转为后台运行状态时,已创建的与该APP应用程序绑定的全局变量以及全局变量所存储的图片特征值,均维持不变;在所述APP应用程序从后台运行状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤4;步骤4执行结束后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;步骤2,全局变量创建过程;遍历所述相册当前保存的所有图片,假设为n张图片,分别计算得到每张图片的图片特征值,然后将n个图片特征值存入到所述全局变量;步骤3,图片保存过程:当所述APP应用程序接收到需保存到相册的图片A时,所述APP应用程序计算得到图片A的图片特征值,表示为:图片特征值F(A);然后,所述APP应用程序比较图片特征值F(A)与全局变量当前存储的各个图片特征值,判断全局变量当前存储的各个图片特征值中,是否存在与图片特征值F(A)相同的图片特征值,如果存在,则表明该图片A已保存于相册,返回步骤1;如果不存在,则将图片A存储到相册,并将图片特征值F(A)存入到全局变量,返回步骤1;步骤4,全局变量更新过程:遍历所述相册当前保存的所有图片,分别计算得到每张...

【专利技术属性】
技术研发人员:李兴平林承义
申请(专利权)人:四三九九网络股份有限公司
类型:发明
国别省市:

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

1