RxScreenshotDetector icon indicating copy to clipboard operation
RxScreenshotDetector copied to clipboard

【请教咨询】一个变化,会出发 ContentObserver 的 onChange 方法会调用多次。

Open aheadlcx opened this issue 8 years ago • 9 comments

hi,请教一个问题。一个变化,会出发 ContentObserver 的 onChange 方法会调用多次。 这个明白为什么么。 测试过不同手机了,都有类似问题。 相关搜索结果 http://stackoverflow.com/questions/22012274/contentobserver-onchange-method-gets-called-many-times

aheadlcx avatar Feb 17 '17 08:02 aheadlcx

这就得看 framework 的代码了呀,不过我的 Nexus 原生系统貌似没发现问题?

Piasy avatar Feb 18 '17 00:02 Piasy

恩,不过感觉理解完这部分 framework 代码,感觉也不好解决了。

  1. 用你的 demo ,Nexus 6 7.0 可以稳定出现。另外 VIVO X7 也可以稳定重现。
  2. stackoverflow 很多相关的问题,目前都是自行过滤的一些办法。

aheadlcx avatar Feb 18 '17 07:02 aheadlcx

我的 Nexus 5x 7.1.1 没有问题。

你看了 framework 的源码,能分享一下原因吗?

解决办法倒是有一个,做一个 debounce 即可。

Piasy avatar Feb 18 '17 15:02 Piasy

how can i unsubscribe it when activity ondestroy?

halilozdemr avatar Feb 22 '17 12:02 halilozdemr

@halilozdemr You have the Subscription object, so just do it :)

Piasy avatar Feb 22 '17 12:02 Piasy

@Piasy it's done :+1: i make it :)

halilozdemr avatar Feb 22 '17 12:02 halilozdemr

@aheadlcx 同遇到这个问题了,我采用的是文件大小+延时能避免,日志发现第一次回调的时候截屏文件才几十个字节。

goatatop avatar Jan 29 '18 09:01 goatatop

@hjw541988478 文件大小,这个你检查过多少个机型了。文件大小过滤有点风险噢 。的确延迟,可以解决部分问题。

aheadlcx avatar Jan 30 '18 02:01 aheadlcx

@aheadlcx 我调到10k,没什么机型截图的大小少于10k吧。。。只是怕小于10K又只回调1次

goatatop avatar Jan 30 '18 02:01 goatatop