在我的应用程序中,我ViewPager
用于显示一些数据,并且我想在每5sec的页面之间设置自动滚动。
我使用下面的代码在每 5 秒内自动滚动页面。
private int page = 0;
private Handler handler;
private int delay = 5000;
private Runnable runnable = new Runnable() {
public void run() {
if (homeRecentPostAdapter.getCount() == page) {
page = 0;
} else {
page++;
}
homePage_recentViewPager.setCurrentItem(page, true);
handler.postDelayed(this, delay);
}
};
homePage_recentViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
page = position;
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
不使用这个Thread
并且Handle
内存使用量(进入分析器选项卡)有80mb,但是在使用上述代码将自动滚动内存使用量上限设置为120mb并且每 5 次设置上限这个使用量后,然后在 2 分钟后接收到250mb!
我该如何解决?如何在不增加内存的情况下使用自动滚动?