Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为什么采用Handler的机制 #20

Closed
softrice opened this issue Dec 23, 2016 · 5 comments
Closed

为什么采用Handler的机制 #20

softrice opened this issue Dec 23, 2016 · 5 comments

Comments

@softrice
Copy link

基于该库做了一些修改,例如加入滑动触发的判断.目前的情况是左边的一些按钮无法触发.
改完后发现因为Handler和事件分发有时候会造成时序的混乱.直接把SwipeWindowHelper去除了继承Handler.
想问下当时是基于什么情况下考虑使用Handler.

@XBeats
Copy link
Owner

XBeats commented Jan 4, 2017

在处理View和手势之间的关系的时候,习惯性的用runnable和handler来处理了,滑动返回项目在最初阶段也是有其他的思路的,不过现在看来确定是可以不用handler的,这个点确实可以优化。

@XBeats
Copy link
Owner

XBeats commented Jan 4, 2017

你能详细描述一下遇到的 “因为Handler和事件分发有时候会造成时序的混乱” ,这种情况吗?

@softrice
Copy link
Author

softrice commented Jan 5, 2017

这个是在我优化了滑动触发后发生的。
原本的代码是直接把屏幕左边的事件拦截,有些左上角的按钮例如返回键就无法触发.
我做了点改动,仿造微信(ios)的风格,在手指在左侧滑动一定距离后才触发滑动返回.
但是后来测试发现,如果乱按,由于Handler发送的Message和点击滑动事件不一定会按照时间先后顺序执行.
由于滑动取消还涉及了动画,动画结束后又发送了Message,在我的代码里有几率出现问题.
原来的代码不会这样,只是我修改后这样.

@softrice
Copy link
Author

softrice commented Jan 5, 2017

因为改得比较苦恼,所以就去除了Handler.

@softrice softrice closed this as completed Jan 5, 2017
@XBeats
Copy link
Owner

XBeats commented Jan 5, 2017

Handler处理Message肯定是按序处理的,但是想要响应返回按键确定会有一定的问题,这个是我正在优化的点。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants