我一直在开发一个应用程序来显示具有类似于下面模型的布局的媒体。每个片段都是一对带有 4 个自定义布局的线性布局元素,用于显示图像视图和文本视图。
如果我有超过 2 个片段并左右滑动以浏览各个片段,则 4 个自定义图像视图不会显示在片段内。我认为这是由于 Android 将所有图像加载到堆上而导致的垃圾收集。
我尝试使用每个片段的 onResume() 方法在它们可见时重建布局,结果是灾难性的。
由于不同的用户可能会根据他们设置媒体的方式有不同的片段计数,因此对于像这样大量图像的活动,什么被认为是最佳实践。还有人对如何判断片段的布局是否需要重建有任何建议。
这是我的第一个 Android 应用程序,学习曲线感觉相当陡峭。
编辑:根据要求,这是适配器和片段。
public static class HomeScreenPagerAdapter extends FragmentPagerAdapter {
public HomeScreenPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
MediaPayload mediaWrapper = new MediaPayload();
mediaWrapper.Item = items[i];
Fragment fragment = new EhsFragment();
Bundle bundle = new Bundle();
bundle.putSerializable("InterActivityPayload", payload);
bundle.putSerializable("MediaWrapper", mediaWrapper);
fragment.setArguments(bundle);
return fragment;
}
@Override
public int getCount() {
return items.length;
}
@Override
public CharSequence getPageTitle(int position) {
return items[position].Name;
}
}
该片段是 500+ 行,所以我将它放在了 Dropbox 中。如果人们愿意,我可以将它内联发布,但它有很多代码。