界面使用webview,并且webview里面有图片进行自动切换导致界面上滚动条卡顿。

最近的项目是用webview做的界面,但是在界面顶端加了android本地动画效果的横向滚动条。当webview里面的图片切换时导致滚动条动画卡顿。

1:setLayerType(View.LAYER_TYPE_SOFTWARE, null);

  无论硬件加速是否打开,都会有一张Bitmap(software layer),并在上面对WebView进行软渲染。

  设置LAYER_TYPE_SOFTWARE后会把当前view转为bitmap保存。这样就不能开多个webview,否则会报out of memory。

优点:

  在进行动画,使用software可以只画一次View树,很省。

  View树经常更新时不要用。尤其是在硬件加速打开时,每次更新消耗的时间更多。因为渲染完这张Bitmap后还需要再把这张Bitmap渲染到hardware layer上面去。

  上面设置导致滚动条卡顿

2:webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);

  硬件加速关闭时,作用同software。
  硬件加速打开时会在FBO(Framebuffer Object)上面做渲染,在进行动画时,View树也只需要画一次。

两者区别:
  1、一个是渲染到Bitmap,一个是渲染到FB上。
  2、hardware可能会有一些操作不支持。
两者相同:
  都是开了一个buffer,把View画到这个buffer上面去。

3:LAYER_TYPE_NONE
  这个就比较简单了,不为这个View树建立单独的layer

PS:GLSurfaceView和WebView默认Layertype都是none。

Android webview 在3.0+后显示flash要启用硬件加速,开启硬件加速是在manifest中加入: android:hardwareAccelerated="true"

时间: 2024-08-07 04:17:12

界面使用webview,并且webview里面有图片进行自动切换导致界面上滚动条卡顿。的相关文章

Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)

最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也就是20张图片,会导致listview滑动卡顿! 这是用户不想看到的,我参考了网易新闻和电子市场等应用,发现它们都是只加载屏幕内的图片,不现实的不加载,于是我也仿照做了一个.我是菜鸟,我承认 呵呵,虽然不见得完全和他们的一样,但是确实解决了翻页时那一刻的卡顿现象. 因为未发现网上有相关文章,希望对朋

ios基础篇(二十三)—— 定时器NSTimer与图片的自动切换

一.NSTimer NSTimer是一个能在从现在开始到后面的某一个时刻或者周期性的执行我们指定的方法的对象.可以按照一定的时间间隔,将制定的信息发送给目标对象.并更新某个对象的行为.你可以选择在未来的某个时间将它停止.开启.甚至销毁. 1.NSTimer的创建 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo

高仿优酷Android客户端图片左右滑动(自动切换)

本例是用ViewPager去做的实现,支持自动滑动和手动滑动,不仅优酷网,实际上有很多商城和门户网站都有类似的实现: 具体思路: 1. 工程中需要添加android-support-v4.jar,才能使用ViewPager控件. 2. 图片的自动切换: 可使用Timer或者ScheduledExecutorService,这个有多重方式可以实现. 同时要切换底部的dots(园点) 3.Handler+Message机制更新UI,这个相信大家都很熟练,不再描述 4. 实现的一些细节:注意本例中的优

Android webview实现上传图片的效果(图片压缩)

mainactivity代码 package com.bwie.webviewupload; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.InputStream; import java.text.SimpleDateFormat; import

WebView加载HTML时图片适配屏幕

今天使用WebView加载HTML时,发现图片过大,没有适配屏幕,于是我设置webView.scalesPageToFit = YES,设置之后,图片确实小了,但是文字也相应地缩小了,而且图片太小,没事配屏幕,不符合我的要求,于是,我又想到了用js解决 1 - (void)webViewDidFinishLoad:(UIWebView *)web 2 { 3 int count = [[webView stringByEvaluatingJavaScriptFromString:@"docume

美图秀秀美化图片之【边框】界面设计【重大更新】

在进行写边框前,需要通知大家一声,整个美化图片的界面开发已经完全重写,请大家先下载最新的项目[点击下载] 效果图 在前面的开发方法中由于没有考虑许多因素,造成viewcontroller代码混乱,所以重新开发了界面,所有美化图片的独立功能都具有一个独立的viewController,这样不易混乱.另外学习到了,使用 imageNamed方法时,如果图片的格式是PNG的可以不加.png,但是其他比如jpg的图片必须加.jpg后缀. 一.链接 else if ([text isEqualToStri

android API Guides 之 web app --------------Building Web Apps in WebView(WebView与页面的绑定)

如果你要在手机端实现一个web app或在app里加载一个web页面,那么你就要用到WebView控件.这WebView类是View类的扩展子类,它允许web页面作为应用布局的一部分来展示.它是不具备一个完整的浏览器的那些特性,例如WebView没有导航栏,地址栏等.WebView的默认功能就是去找事WebView. 当你在你的app里面加一些以后可能跟新的信息时(例如用户协议或用户指南),你是用WebView那是非常有帮助的.在你的应用里,你可以创建一个带有WebView的activity,然

jquery后台登录页面背景图片自动轮换登录界面代码

在别的网站上看到的比较炫酷的Web登陆界面,背景图片可以自动轮换.介绍给大家,有兴趣的可以下来改改当做自己系统的登陆界面. 如图: 点击下载源代码 jquery后台登录页面背景图片自动轮换登录界面代码

android WebView缩放时卡顿问题

问题描述: WebView 在双指缩放页面时会卡顿 解决过程:有试过打开硬件加速android:hardwareAccelerated="true" 还是没用,纠结了一天,最后屏蔽了设置ua的代码才正常: setUserAgentString(ua);如果要手动代码设置ua,要注意ua要尽量符合规范才行: 可以参考我设置ua的方法: String systemUserAgent = webSetting.getUserAgentString(); StringBuilder sb =