以移动开发者身份帮助用户上传图像并与其他用户分享是非常常见的要求。开发这些能力时,我们需要考虑多数用户不会对上传高分辨率手机摄像头捕获的大规模图像三思大型文件不单为屏幕显示超效, 并可能导致上传交付时间大幅减慢当然,这些用户不会二二想 抱怨或放弃应用, 如果他们总用户经历不平滑快速
今日云化AndroidSDK两个特征无缝整合到当前上传传送流中,帮助提高应用速度和性能,同时省下移动开发工作的大量时间和能量
分两部分处理中位元中,我们将覆盖新预加载图像处理特征性能内第二部分we'll教你怎么应用云性响应图像优化图像交付解决方案基于设备分辨率和可用维度
云化新预处理对象移动SDKs
如上所述,用户常选择高分辨率图像上传提高应用性能和网络友好度,在上传图像云前向下缩放这些图像是有道理的云化新预处理特征允许您在上传图像到云化账号前调整图像大小(或实际执行任何动作)。上传优化功能可大幅减少上传时间、保存带宽并增强应用性能
向云形上传图像前应缩放多少回答这个问题,我们需要计算最大尺寸图像
先从 Android计算开始币游国际真人娱乐Android平台设备种类繁多,屏幕尺寸和DPI似乎无穷无穷幸运的是,有些人比其他人频繁使用一些人甚至被贬低Android有7种不同的DPI, 一般都接受你应该注意这些5:mdpi,hdpi,xhdpi
并hdpi
.
因为我们想确保图像在每个 Android设备上都很好看, 我们可能想支持最大密度,即hdpi
解决之道
假设我们想上传图像为剖面图像,而图像View尺寸为150*150dp要从dp转换像素,我们应使用下列公式Google提供:
px=dp*
计算相关像素大小xxxhdpi解析度(640dpi):
Px=150*(640/160)=600px
换句话说,为了确保 Android所有设备能显示我们图像而不丢失信息,我们上传图像的分辨率应该为600X600px
OS呢比安卓简单得多计算, 我们取最大DPR乘法,即@3x, 并乘以目标大小乘以尺度因子px=pt*
),150*3=450px
.安卓设备最大尺寸小于此值,只有应用只在iOS设备上运行时才相关假设你的应用对两个操作系统都有效 取600px最大图像尺寸
说够了,编解码
上载前动作像图像重定位和图像格式化容我们看看这些androidiOS上传代码片段
代码执行三种预处理动作
- 缩放大于600*600像素的图像
- 从 Android设备上传图像格式重新编码WebP和从iOS上传JPG
- 质量变80 保留优视像文件小得多
与原创高分辨率相对慢加载图像相比,这些动作在上传文件前会发生,合并后会大大快化优化上传
总结,除利用云形易优化即时图像转换到任何所需格式、样式和维度即时交付中注意并优化上传进程 。身为移动开发者, 每当你需要上传图像时, 要确保你考虑最大尺寸图像, 并不会上传大点图像
下一步是什么
第一部分移动应用推送博客串行中,我们覆盖你如何使用新版预处理
对象帮助保存带宽并优化上传过程,将图像尺寸减到所需的最大尺寸也可以使用此对象执行其他预处理动作,如转换格式,修改质量设置,如上文样本代码所示,或甚至定义自定义预处理函数
预加载处理特征是Android和iOSSDKs中 丰富的图像管理特征中最新的
现在你知道上传时如何限制图像最大尺寸, 表示所有设备都需提供相同尺寸吗?当然不是最优响应交付要求我们向每个设备提供正确尺寸
第二部分本序列使用新式响应图像OS和AndroidSDKs最新版本功能保持监听
现在怎么办
现在可以开始玩这些功能