Yaoyuan Guo

Results 161 comments of Yaoyuan Guo

系统有自带的 sqlite.dylib,怕其它地方已经有引用时有编译或链接冲突吧。

可以观察 YYAnimatedImageView 的 currentAnimatedImageIndex 和 currentIsPlayingAnimation 属性。

"并不是每一次都能监听到" 是什么问题?

这个是很正常的 KVO 啊,你是怎么监听的?贴个代码看看把。

YYImage 在显示 GIF 等动画时,会判断当前设备内存情况,并尽可能解码和缓存每帧图片来减少 CPU 消耗;但如果动画帧数过多,不适合全部解码到内存,那就会边播放编解码,这至少比内存过大导致崩溃要好。

调整 YYAnimatedImageView 的 maxBufferSize 属性,或者用 YYImage 的 preloadAllAnimatedImageFrames 来提前解码所有帧到内存。解码的瞬间会消耗 CPU,解码后就可以直接用了。 但是,如果内存不够,App 会崩溃掉的。你需要在内存消耗和 CPU 之间取一个平衡吧。

"移除"最后一帧是什么意思?如果是清除画面的话,那直接 imageView.image = nil,如果是需要重置到第一帧,那就 imageView. currentAnimatedImageIndex = 0。

等待一个 loop 再执行(比如 dispatch_after(0))。 另外,尽量不要在用户编辑时修改高度。

我调试了一下。内容高度变化时,contentSize 会改变,内容和光标也会有一个动画移动的效果以保证光标暴露在最外面。这块儿有时间会做一下优化吧。

注意看看是否有循环引用。