我有一个片段,可将选项卡动态加载到视图分页器中,其中每个选项卡中的数据将根据api调用的结果加载。每个片段至少有4个标签。当将此片段多次(通常超过20次)添加到Backstack中时,应用程序开始滞后,滚动列表的速度变得非常慢。有办法解决吗?
答案 0 :(得分:1)
此问题与管理 UI Thread & Worker Thread 有关。
也许您在UI Thread中做了很多工作。就像过滤列表或创建Map(可以是任何东西,我看不到您的代码。)等等。
解决方案:
您仅应在UI
或Main thread
中进行UI工作。就像您要获取和解析响应一样。
AsyncTask()
或new Handler()
)中获取api数据。runOnUiThread();
在List
中设置数据或设置视图组件。关键点是使用UI /主线程与View通信。并使用Worker Thread进行后台处理。
如果您正确管理应用程序中的线程,则您的应用程序将永远不会挂起。