应用中有一个ViewPager
,其中包含多个Fragment
。
当用户滚动到页面末尾时,会出现这种Android渐变效果,表明不再有页面(而不是iOS的反弹效果)。
当这种效果发生时,应用程序变得无响应并且帧被丢弃,而在日志中有这些行 -
Trying to scale down bitmap for texture (2560x4544 -> 2307x4096)
Scaled bitmap has been successfully created
在这个尺寸的应用程序中没有位图,它在QHD(1440 x 2560像素)LG G3显示器上运行,所以我猜一些位图按比例放大以适应这个xxxhdpi分辨率,然后由于某种原因缩小了一点
问题是 - 当这种效应发生时,为什么要尝试缩小位图?这可以避免吗?
是否缩小了渐变效果渲染?
答案 0 :(得分:0)
当我关闭过度滚动效果(iOS&#39s反弹等效)时,它停止了。也许这个效果是在显示之前调整大小的图像,但我不明白为什么他们不会将其缓存,如果它是真的。
viewPager.setOverScrollMode(View.OVER_SCROLL_NEVER);
答案 1 :(得分:0)
问题在于在页面中加载一些图片: 解决方案: 1.如果必须加载图像,请使用名为Picasso http://square.github.io/picasso/的库来加载它 2.如果图像是形状,请尝试在android中自己制作形状。 不惜一切代价避免在xml中加载大图像。即使在最新的手机中,这也会对性能产生重大影响。