在我的应用程序中,我使用ViewPager
来显示一些数据,并且我希望每 5秒在页面之间设置自动滚动。
我使用下面的代码每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
内存使用情况(进入 profiler 标签)的 80mb ,但之后使用以上代码将自动滚动内存使用率上限设置为 120mb ,每5个设置上限使用此用法,然后在 2min 之后收到 250mb !
我该如何解决?如何在不增加内存的情况下使用自动滚动?
答案 0 :(得分:-1)
检查您的"Hello"
,也许它是在每一页上创建新实例。
如果您提供了代码,我也许可以指出。