feat:提高验证速度#736
Conversation
|
感谢贡献代码🌹 首先如果这行代码需要优化,前提应该是它被足够频繁的调用了。但这里是ApplicationOnCreate调用依赖的,加载一个插件也只调用一次。所以其实不太需要优化。 其次,当性能不是那么重要时,更常见的写法提高代码可读性更重要。Android系统源码中到处都是这个写法: 最后,如果要这样优化,是不是 |
|
对,其实这个也不是非要优化的点。只是个人感觉判断ui线程时比起用ThreadLocal的get方法更简化。其次就是缓存其实是也算是加重了内存空间。pr算是加快但是没有副作用,因为原写法本来就有用到>.<。 |
|
至于可读性,我觉得都还好,pr就更直接了,比较当前线程跟主looper的线程,语意也挺符合是不是ui线程。谢谢大佬评论哈~ |
|
语义上是没什么问题。主要区别还是哪种写法更广泛。确实ThreadLocal也要调用Thread.currentThread(),原本的写法确实麻烦了。我看API 23之后,Android源码里都写 |
|
那就一起都改一下吧。我搜了一下源码里 另外,麻烦rebase时修改一下你的git用户名,目前的 |
|
#737 pr已经重新提啦,谢谢大佬 |
|
你应该force push原来的dev分支,这个PR就会自动更新了,不用提新的PR的。 可以顺手把提交记录再改成 |
|
这个旧分支我拿来测试了,加了很多测试代码,所以就开新分支提了,麻烦大佬移步#737噢 |

Looper.myLooper从ThreadLocal中的get方法拿数据,其实还要维护ThreadLocal中各种状态比较,如果判断是不是在ui线程的话,有一个小建议,可以换成pr方法验证,Thread.currentThread()其实ThreadLocal的get方法也会调用。手机自测能快20毫秒左右