desmond1121 / android-ptr-comparison Goto Github PK
View Code? Open in Web Editor NEWPerformance comparison of android "pull to refresh" repos in github.
Performance comparison of android "pull to refresh" repos in github.
感谢作者用心的对比,同时在使用过程中,我认为下拉组件还需要做到这一点才能让"下拉动作"更加流畅:
用户可以随意在下拉刷新和滑动列表之间切换, 而不需要抬起手指
具体测试方法为:
对比后发现:
库 | 能否顺利下拉 | 能否顺利上滑 |
---|---|---|
Android-PullToRefresh | 不能 | 不能 |
android-Ultra-Pull-To-Refresh | 可以 | 可以 |
android-pulltorefresh | 可以 | 可以 |
Phoenix | 不能 | 不能 |
FlyRefresh | 可以 | 可以 |
SwipeRefreshLayout | 可以 | 不能 |
另外我 clone 这个库对比的过程中,发现 FlyRefreshLayout
需要用在支持 NestedScroll
, 所以在测试的时候需要添加 mListView.setNestedScrollingEnabled(true);
来测试..
全新之作!
可下拉刷新,可上拉加载!
楼主可推荐一番!
Android-Pull-To-Refresh
1、关于Chrisbanes的PTR: 『顶部视图难以拓展,不建议放入工程中使用』,其实下拉刷新真的要实现定制和自定义,谁不会改几行代码呢。况且博主已经说了作者已经抽了一个LoadingLayout,那么重写这个类或从外部传递参数就行了。适当传递布局文件或者View,都能够达到很easy的定制。LoadingLayout内部耦合的代码也并不多,这一点的评价上可以再考虑;
2、由于下拉刷新已经较为偏离Google所『设定』的方向,所以在讨论这样的下拉刷新就隐含了『不局限于Google希望的风格』的前提。所以,从不拘泥于Android风格的设计上讲,用户体验方面,还有一个很重要的『内部滚动衔接外部OverScroll的处理』。这也是很关键的:第一次滑到顶骤停了,再拉才可以下拉刷新;和一次滑就能看到头部。用户体验差距是巨大的。至少,提供给开发者,开发者可以选择不用。
这一点在评价里面漏了。
非常感谢你的总结,对每个库流畅度上分析的非常深入,还给出了解决方案,赞!
我最大的收获是这篇文章对性能优化实践方面的帮助。
请教一个问题,文中提到用systrace截取下拉1s的数据,使用systrace如何精准的截取想要操作的时间区间呢?是通过代码打点嘛还是其他方法?
谢谢!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.