fragments我使用ViewPager2和显示 5 FragmentStateAdapter。每个fragment都有ExoPlayer实例。我正在维护ViewPager2.setOffscreenPageLimit(1),并且加载效果良好fragments。但是,当我向下滚动到ViewPager2,pos4时pos2,pos1应该调用 onStop(), onDestroyView(), onDestroy()。但这并没有发生。
除非我按 ,否则这些方法都不会执行onBackPress()。我在FragmentStateAdapter.
我想执行exoPlayer.release()以onDestroyView()释放应用程序的内存。
这是代码
活动
List<Post> postsList = response.getPosts();
ViewPagerAdapter adapter = new ViewPagerAdapter(this, postsList);
binding.pager.setOrientation(ViewPager2.ORIENTATION_VERTICAL);
binding.pager.setOffscreenPageLimit(1);
binding.pager.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
ViewPager适配器
public class ViewPagerAdapter extends FragmentStateAdapter {
private List<Post> postList;
public ViewPagerAdapter(@NonNull FragmentActivity fragmentActivity, List<Post> postList) {
super(fragmentActivity);
this.postList = postList;
}
@NonNull
@Override
public …Run Code Online (Sandbox Code Playgroud) android fragment android-viewpager exoplayer android-viewpager2