Sup*_*ale 1 tabs android view android-viewpager android-tablayout
我已经意识到在Android中使用标签布局时,它总是会加载触摸它的标签,即之前的标签和标签,因此当您翻页时它会被加载.
但是,我从服务器加载了大量的内容和图像,这会导致大量的数据和内存使用,我经常会得到OOM errors,我正在使用Glide高效地显示图像.
基本上我需要知道3件事:
clear/recycle/delete在到达新页面以清除内存后如何使用旧选项卡默认情况下,它是viewpager.setOffscreenPageLimit(1),这意味着默认情况下,View pager将在当前选项卡的右侧和右侧选项卡上加载至少1个.它是这样做的,主要是因为当两个标签的某些区域可见时,你可以滑动viewpager.对于那些平滑过渡,需要预加载.您无法将其设置为viewpager.setOffscreenPageLimit(0).唯一的出路是使用此方法setUserVisibleHint将此添加到您的片段
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// load data here
}else{
// fragment is no longer visible
}
}
Run Code Online (Sandbox Code Playgroud)
仅当用户可以看到该特定选项卡时才会调用此方法,因此只有这样您才能调用所有loadfing函数.希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |