我有一个由 a 提供支持的活动,FragmentPagerAdapter
它在用户左右滑动时添加片段。
添加的这个子片段当前是静态的并且包含一个ListView
项目。我打算使用并AysncTask
获取项目,ListView
但此过程可能需要 10-15 秒。
我仍然迷失在一些事情上:
我应该从哪个方法AsyncTask
调用?会是onCreate
方法Fragment
吗?我只希望AsyncTask
在 Fragment 处于焦点时调用 。
然而,最大的问题是,当用户在加载AysncTask
时从屏幕上滑开时,我会发生什么。AsyncTask
Activity 被销毁了吗?有没有办法可以防止 Activity 被破坏?如果我不这样做,所有的进展AsyncTask
都会丢失,我必须重新调用AsyncTask
当它Fragment
成为焦点时。
谢谢。
慢的原因:
我正在抓取一个包含大约 150 条记录的页面,而 jSoup 真的非常非常慢。不使用服务的问题是数据很可能发生变化,我不想“预先抓取”数据。
@Fildor 建议使用 aLoader
来完成繁重的工作。快速浏览一下Loader
实现表明,它允许您在短时间内保存数据,例如方向更改。我仍然想知道ViewPager
's 的摆动Fragments
是否会让数据Loader
暂时持续存在。