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