Android ViewPager';儿童';s onDraw方法不总是被调用吗?

Android ViewPager';儿童';s onDraw方法不总是被调用吗?,android,android-viewpager,Android,Android Viewpager,我正在使用ViewPager显示自定义视图的列表。我的自定义视图扩展视图并覆盖onDraw()方法。除了我的绘图代码外,我的onDraw()方法还包含一个log语句,这样我可以在调用onDraw()方法时进行调试。它只是偶尔被调用。例如,如果我在两个页面之间来回滑动,通常不会调用onDraw()方法。ViewPager正在进行某种缓存吗?是否有办法确保每次自定义视图可见时都调用自定义视图的onDraw()方法?ViewPager有一个名为offscreen page limit的属性,该属性定义

我正在使用ViewPager显示自定义视图的列表。我的自定义视图扩展视图并覆盖onDraw()方法。除了我的绘图代码外,我的onDraw()方法还包含一个log语句,这样我可以在调用onDraw()方法时进行调试。它只是偶尔被调用。例如,如果我在两个页面之间来回滑动,通常不会调用onDraw()方法。ViewPager正在进行某种缓存吗?是否有办法确保每次自定义视图可见时都调用自定义视图的onDraw()方法?

ViewPager有一个名为offscreen page limit的属性,该属性定义了当前页面左侧和右侧应保留的页面数(即在滑动时不销毁)。您可以使用ViewPager的
setOffscreenPageLimit(int limit)
方法更改其值。默认情况下,它设置为1,因此在开始时应该创建2个页面(第一个页面和右边的页面),因此您应该注意到对onDraw方法的两次调用。我担心,通过更改上述限制无法实现您想要的行为(每次滑动时调用onDraw方法),因为ViewPager不允许将偏移页限制设置为0(设置不会导致错误,但在这种情况下使用默认值)