`
lvxinqiao
  • 浏览: 846 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

安卓webview详情(软件加速跟硬件加速)

 
阅读更多
当我们在使用WebView时,如果加载的网页比较大有很多的图片,如果没有在webview中使用加速器有些手机就会出现闪退出的问题 这时就要启动加速器去进行渲染
webView = (WebView) findViewById(R.id.activity_broad_cast_details_wv_detail);
WebSettings ws = webView.getSettings();
		ws.setUseWideViewPort(true);
		ws.setLoadWithOverviewMode(true);
		ws.setSavePassword(true);
		ws.setSaveFormData(true);
		ws.setJavaScriptEnabled(true);
		ws.setGeolocationEnabled(true);
		ws.setGeolocationDatabasePath("/data/data/org.itri.html5webview/databases/");
		ws.setDomStorageEnabled(true);
		ws.setSupportMultipleWindows(true);
		ws.setJavaScriptEnabled(true);
		webView.getSettings().setPluginState(PluginState.ON);
		if (Build.VERSION.SDK_INT >= 19) {//硬件加速器的使用
			webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
		} else {
			webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
		}
		xwebchromeclient = new myWebChromeClient();
		webView.setWebChromeClient(xwebchromeclient);
		// 设置Web视图
		webView.setWebViewClient(new IntimateServeActivityViewClient());
		webView.loadUrl(url);//
private class IntimateServeActivityViewClient extends WebViewClient {

		@Override
		public void onPageFinished(WebView view, String url) {
			//super.onPageFinished(view, url);
			webView.setLayerType(View.LAYER_TYPE_NONE, null);//如果渲染后有视频播发 就得把加速器关闭了
			
		}

		@Override
		public boolean shouldOverrideUrlLoading(WebView view, String url) {
			view.loadUrl(url);
			return true;
		}
	}

以上内容是本人的理解  要是有错欢迎交流  我的qq号:534992085
分享到:
评论

相关推荐

    Android WebView播放视频(包括全屏播放)

    - 考虑使用硬件加速,通过`setLayerType(View.LAYER_TYPE_HARDWARE, null);`开启。 9. **调试与日志**: - 开启WebView的调试功能,使用Chrome的`chrome://inspect`页面进行远程调试,有助于定位问题。 - 添加...

    用原生webView开发的安卓壳子

    1. 使用硬件加速:启用WebView的硬件加速可以提高渲染性能。 2. 预加载策略:设置预加载策略,比如`shouldInterceptRequest`,提前加载可能需要的资源。 3. 缓存策略:利用WebView的缓存机制,减少网络请求,提升...

    android webview加速和透明设置例子

    1. **启用硬件加速**:在应用的AndroidManifest.xml中,为相应的Activity添加`android:hardwareAccelerated="true"`属性,这将开启硬件加速,提高WebView性能。 2. **禁用JavaScript缓存**:在某些情况下,禁用缓存...

    Android利用 webview 查看阅读pdf资料( 优化)

    3. **性能优化**:启用硬件加速可以提高Webview的渲染速度。在Activity的`onCreate`方法中添加`setSupportsHardwareAccelerated(true)`。 ```java @Override protected void onCreate(Bundle savedInstanceState) {...

    安卓webview 的JsBridge连接桥(跟html交互)

    - 为了提高性能,可以开启硬件加速(`WebView.setLayerType(View.LAYER_TYPE_HARDWARE, null)`)。 - 使用WebView缓存策略(`WebSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)`)来减少网络请求。 ...

    android使用webView实现java程序与js脚本的相互调用

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。同时,WebView还提供了Java代码与JavaScript交互的能力,使得我们可以利用JavaScript的灵活性和Android原生功能的强大...

    android webview开发应用

    9. **性能优化**:为提高WebView的性能,可以开启硬件加速(`setLayerType(View.LAYER_TYPE_HARDWARE, null)`), 使用`shouldInterceptRequest()`拦截网络请求以缓存数据,以及合理使用WebView的`clearCache()`和`...

    android webview autoplay video

    1. **启用硬件加速**:WebView的硬件加速可以提高视频渲染性能。在Java代码中设置: ```java webView.setLayerType(View.LAYER_TYPE_HARDWARE, null); ``` 2. **缓存策略**:通过设置WebView缓存策略,可以减少网络...

    AndroidWebView

    - 使用`WebView.setLayerType()`设置硬件加速,提升性能。 - 注意内存管理,避免内存泄漏。 通过以上步骤,初学者可以快速上手`Android WebView`,实现简单的网页浏览功能。随着经验的积累,你可以进一步掌握更复杂...

    安卓webview的开发

    - **启用硬件加速**:开启Webview的硬件加速,可以提高网页渲染性能,通过`setLayerType()`方法实现。 - **缓存机制**:启用Webview的缓存机制,可以减少网络请求,提升用户体验。可以设置缓存模式,如离线优先。 ...

    android webview demo

    - **硬件加速**:开启硬件加速可以提升WebView的渲染性能。 ```java webView.setLayerType(View.LAYER_TYPE_HARDWARE, null); ``` **6. 其他注意事项** - **权限**:如果加载的网页需要访问互联网,别忘了在`...

    android Webview加载本地图片,自适应布局大小

    另外,开启硬件加速可以提升WebView的渲染性能: ```java webView.setLayerType(View.LAYER_TYPE_HARDWARE, null); ``` 总之,Android中的WebView加载本地图片并自适应布局大小,需要结合HTML、CSS、JavaScript...

    安卓 webview 单页面

    为了提高Webview的性能,可以开启硬件加速,使用 `setLayerType()` 设置为 `LAYER_TYPE_HARDWARE`。另外,及时清理Webview缓存以减少内存占用。 9. **处理点击链接** 默认情况下,Webview会打开一个新页面,但...

    android webview jbox2d 源代码 项目源码

    5. 性能优化:由于JBox2D的物理计算可能会消耗大量CPU资源,开发者需要考虑如何优化计算频率,减少不必要的更新,或者利用硬件加速等手段提升性能。 在这个项目源码中,你可以学习到如何在Android上集成Webview与...

    android webview与js交互简单demo

    - WebSettings配置:调整缓存策略、启用硬件加速、禁用图片加载(如果不需要)等,以提升WebView性能。 - 应用生命周期管理:在Activity的onPause()方法中暂停WebView,在onResume()中恢复,以节省内存。 - 使用...

    android WebView控件的使用

    - 使用`WebView.setLayerType()`可以开启硬件加速,提升渲染性能。 - 适当使用`WebView.pauseTimers()`和`WebView.resumeTimers()`控制资源占用,例如在后台时暂停,回到前台时恢复。 10. **错误处理** - 通过`...

    Android webview 播放视频、文字复制

    2. 性能优化:使用硬件加速,通过在Activity的`android:hardwareAccelerated="true"`属性启用。 3. 安全性:对于加载的网页,确保其来源安全,避免XSS(跨站脚本攻击)和CSRF(跨站请求伪造)等安全问题。 总结,...

    androidWebView

    - 使用硬件加速:`webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);` - 启用缓存:`webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);` - 预加载网页:`webView.loadUrl(...

    Android 通过 WebView 与js 简单交互实现图文混排与查看大图功能

    - 开启硬件加速以提高WebView性能,调用`WebView#setLayerType(View.LAYER_TYPE_HARDWARE, null)`。 8. **安全考虑** - 为了避免JavaScript注入攻击,确保只加载可信的源,不要加载来自不受信任用户的输入。 - ...

Global site tag (gtag.js) - Google Analytics