大虾

Results 73 comments of 大虾

宿主带一个32位的空so即可,这会强制宿主以32位模式运行

I can't reproduce the issue.

可能是作者的笔误,判断条件弄反了 @banchichen : https://github.com/banchichen/TZImagePickerController/blob/5cb93b509975d035915d78fb894a33c8a11a33bb/TZImagePickerController/TZImagePickerController/TZImagePickerController.m#L782 https://github.com/banchichen/TZImagePickerController/blob/5cb93b509975d035915d78fb894a33c8a11a33bb/TZImagePickerController/TZImagePickerController/TZPhotoPickerController.m#L302 修改为`if (!self.navigationController.navigationBar.isTranslucent) {`即可

ios12.4 XsMax 测试没有偏移问题,是不是你之前为了实验透明效果做了别的改动或者额外的配置。 试试看跑demo

机型、系统版本? 我之前用iPhone7Plus+iOS11集成此库的时候,暂未发现有gif卡顿问题。

yy_setImage 里有一个manager,你可以看看这个参数

因为作者的YYCache默认设置的是无上限cost和count,所以会OOM。 可根据情况改变它的默认设置,比如将cost设置为100MB,就可以解决内存激增问题。 //对YYCache进行配置,避免OOM if let cache = YYWebImageManager.shared().cache { cache.memoryCache.costLimit = 100_000_000 cache.memoryCache.shouldRemoveAllObjectsWhenEnteringBackground = false }

我审视了一下代码,可能触发这个问题的地方在setOperationWithSentinel函数内, 它在setterQueue线程中执行,其内部检测条件不满足时会直接调用completion触发主线程异步读取newSentinel, 接着该函数返回时会对newSentinel进行赋值,如果此时主线程正好并发执行了读取newSentinel 就会产生Data Race > > - (int32_t)setOperationWithSentinel:(int32_t)sentinel > url:(NSURL *)imageURL > options:(YYWebImageOptions)options > manager:(YYWebImageManager *)manager > progress:(YYWebImageProgressBlock)progress > transform:(YYWebImageTransformBlock)transform > completion:(YYWebImageCompletionBlock)completion { > if (sentinel != _sentinel) {...

存在bug,会始终从disk读取cache,而且错误的在network线程中执行了disk读取操作。 我重写了代码,可正确处理disk缓存的读写 https://github.com/cddjr/YYWebImage/commit/75ce6c697f0ddfe7230134ffce1dcc0153b33a6a