在开发中我们会常遇到需要加载图片的场景,如果我们能预知图片高度宽度就可以方便我们布局占位图或者提前设定好高度避免大幅度耗时刷新视图 ,目前我所知有两种解决方案。
方案一: 我们通过下载图片来获取图片高度 然后在进行视图刷新,如果是列表类型的话有一些问题 会导致第一次页面频繁闪跳,第二次进入页面就正常了,那我们刷新视图的时候如何避免视图跳动呢 我们可以通过关闭动效 来进行隐式刷新
这样就可以完美解决了 ,会有一点点瑕疵 就是个别图片在第一次加载会闪一下 ,但是基本上可以忽略 。
方案二: 我们可以通过<ImageIO/ImageIO.h> 这个框架对图片进行硬解码 通过少量的网络请求来获取图片信息
这个方案就接近完美了 可以通过获取的图片资源信息获取到图片的宽高 这样我们就可以完美预加载适配了。