在不同的App版本中,各种不同尺寸的手机中,同一张图片显示的尺寸未必一样,如果每次App后台都返回原图然后在App客户端处理,则极大浪费网络资源。如果App后台处理完图片才返回,则又有一个新的技术问:APP开发公司怎么有效保存和裁剪多种图片尺寸?
例如,App中头像只需要返回60×60的尺寸,后来新版本需要返回70×70,又出了一个新版本,需要返回80×80,每次增加一个新的尺寸怎么在数据库上记录下来呢?在刚开始设计API的时候没考虑这个问题,后来不得不用了一个极端的方法:每次增加新的图片尺寸就在数据库中增加一个新的字段,在这个新字段中保存新的图片路径,最后数据库的头像字段有“avatar”、“avatar_60_60”、“avatar_70_70”、“avatar_80_80”这种极度恶劣的设计。对图片优化的策略如下:
(1)App客户端本地缓存图片,当缓存图片不存在才请求服务器的API。
(2)当App客户端需要某种尺寸的图片,由App客户端通知服务端所需图片的尺寸,由服务端动态生成并缓存。
例如,App客户端需要图片80×80的尺寸,则在图片的路径加上宽和高的参数(类似于CDN的机制),服务器收到这个请求解析其中的宽和高参数后,生成80×80的尺寸并返回给App客户端。
App后台采用了这种图片处理机制后,数据库中只需一个保存原图的字段就行,其他尺寸就由客户端告诉服务端动态生成。以后无论什么尺寸的图片,数据库中都不需要记录,数据库只保存原图就行了。深圳APP开发公司本文关于“APP开发公司在图片的处理中需要注意什么?”的知识就介绍分享到这里,谢谢关注,博纳网络编辑整理。