gpt4 book ai didi

android - ViewPager setCurrentItem 卡住 UI 线程

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:23:38 26 4
gpt4 key购买 nike

我正在使用来自 Android 支持 v13 的 ViewPager,我想使用 setCurrentItem(int) 滚动到特定项目,但是当我尝试滚动超过 2 个页面时,应用程序卡住,几秒钟后,系统显示一个 ANR 窗口。

我尝试使用 setOffscreenPageLimit(2) 增加离屏屏幕限制,这样当我尝试滚动 2 页时它不会卡住,但对 3 页也是如此。

我的问题是我的 fragment 非常耗费内存,所以我不希望有太多内存。我在支持库 v4 中使用了相同的代码,但我必须将其更新到 v13 才能使用 NotificationCompat.Builder.addAction(int, CharSequence, PendingIntent)

你们中有人知道问题出在哪里,解决方案是什么吗?

最佳答案

您的适配器是否处理大量元素? (非常大 > ~220 项)

ViewPager.populate(int)将从当前项目位置循环到 N ,这是适配器中的项目数 - 因此,如果您将其设置为较大的值(例如 Integer.MAX_VALUE),这将需要一些时间,但最终会完成。

如果是这种情况,请搜索与“无尽寻呼机”相关的问题,例如 Endless ViewPager android ,或者将项目的数量限制在对主线程来说合理的范围内。

关于android - ViewPager setCurrentItem 卡住 UI 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18740916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com