为什么 Facebook 的 Android 应用滚动如此流畅

发布于 2024-12-20 19:58:02 字数 309 浏览 0 评论 0原文

Facebook 在我的 Android 手机中拥有最流畅的用户界面,我想知道他们是如何做到这一点的。

当我编写演示时,带有图像的 ListView 似乎总是很滞后,而 facebook 的新提要活动行为却如此惊人。

任何人都可以告诉我 Facebook 应用程序是否使用原生 ListView 但进行了一些改进,或者只是重写整个视图以获得更好的性能?

编辑:我已经使用了缓存策略,例如使用异步线程、将 ViewHolder 缓存为标签以及将图像存储在内存中以实现加速,但我仍然感觉滞后。我真的很想知道 Facebook 工程师是怎么做到的,他们真的很聪明

Facebook has the most smooth UI in my Android Phone, and I am wondering how can they do that.

While I am writing my demo, ListView with images always seems to be laggy, while facebook's new feed activity behaviors so amazing.

Anyone can tell me whether the Facebook App uses native ListView but with some improvement, or just rewrite the whole view for better performance?

EDIT: I have already used the caching strategy such as using async threads, caching ViewHolder as tag and storing images in memory for acceleration, while I still feel laggy. I do really want to know how did facebook engineers do that, they are really brilliant

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

匿名的好友 2024-12-27 19:58:05

尝试将设备连接到 adb,打开 DDMS 并按下方法分析按钮,然后开始滚动几秒钟。 Traceview 将打开,您会看到什么占用了所有 CPU时间。

Try hooking the device up to adb, open DDMS and press the method profiling button, then start scrolling a bunch for a few seconds. Traceview will open and you see what is using up all the CPU time.

混吃等死 2024-12-27 19:58:05

我以前从未使用过 ListView,但如果我不得不猜测,也许它们正在检索结果然后缓存它们,而您每次都查询结果而不缓存它们。

I've never used a ListView before, but if I had to guess maybe they are retrieving the results and then caching them, whereas you're querying for the results everytime and not caching them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文