android硬件加速

   android:hardwareAccelerated="true"

WebView控件加速配置

 //加速丝滑getBinding().web.setLayerType(View.LAYER_TYPE_HARDWARE, null);

WebView基本配置

 @SuppressLint("SetJavaScriptEnabled")private void initWebSettings(WebView web) {WebSettings settings = web.getSettings();//支持jssettings.setJavaScriptEnabled(true);// 解决图片不显示settings.setBlockNetworkImage(false);settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);//自适应屏幕settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);settings.setLoadWithOverviewMode(true);//设置可以支持缩放settings.setSupportZoom(false);//扩大比例的缩放settings.setUseWideViewPort(false);//设置是否出现缩放工具settings.setBuiltInZoomControls(false);//解决白屏问题,原因不明settings.setDomStorageEnabled(true);//多窗口settings.setSupportMultipleWindows(true);settings.setJavaScriptCanOpenWindowsAutomatically(true);//加速丝滑getBinding().web.setLayerType(View.LAYER_TYPE_HARDWARE, null);}

WebView视频播放

 webView.setWebChromeClient(new WebChromeClient() {//==========全屏播放视频相关==========@Overridepublic void onShowCustomView(View view, CustomViewCallback callback) {webBinding.layoutFullVideo.setVisibility(View.VISIBLE);webBinding.layoutFullVideo.addView(view);hideState();mCallback = callback;setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);// 横屏super.onShowCustomView(view, callback);}@Overridepublic void onHideCustomView() {if (mCallback != null) {mCallback.onCustomViewHidden();}webBinding.layoutFullVideo.removeAllViews();webBinding.layoutFullVideo.setVisibility(View.GONE);if (!full) {showState();}setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);//竖屏super.onHideCustomView();}//==========全屏播放视频相关==========});private void showState() {//显示状态栏getWindow().clearFlags(WindowManager.LayoutParams.MATCH_PARENT);}private void hideState() {//隐藏状态栏getWindow().addFlags(WindowManager.LayoutParams.MATCH_PARENT);}//==========全屏播放视频相关==========private static String getTagByUrl(String url) {if (url.contains("qq")) {return "tvp_fullscreen_button"; // http://m.v.qq.com} else if (url.contains("youku")) {return "x-zoomin";              // http://www.youku.com} else if (url.contains("bilibili")) {return "icon-widescreen";       // http://www.bilibili.com/mobile/index.html} else if (url.contains("acfun")) {return "controller-btn-fullscreen"; //http://m.acfun.tv   无效} else if (url.contains("le")) {return "hv_ico_screen";         // http://m.le.com  无效}return "";}//  "javascript:document.getElementsByClassName('" + referParser(url) + "')[frontPage].addEventListener('click',function(){local_obj.playing();return false;});"private String getJs(String url) {String tag = getTagByUrl(url);if (TextUtils.isEmpty(tag)) {return "javascript:";} else {return "javascript:document.getElementsByClassName('" + tag + "')[frontPage].addEventListener('click',function(){onClick.fullVedio();return false;});";}}//==========全屏播放视频相关==========

WebView多窗口跳转数据加载
多窗口原理:
使用List集合储存FrameLayout,FrameLayout移除和添加就好了
这个功能代码太乱了,就不做笔记了

   webView.setWebChromeClient(new WebChromeClient() {@Overridepublic boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, android.os.Message resultMsg) {newWindow();WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;transport.setWebView(getBinding().web.getWebView());resultMsg.sendToTarget();return true;}
});

Webview下载

  //==========添加下载监听==========getBinding().web.getWebView().setDownloadListener((url, userAgent, contentDisposition, mimetype, contentLength) -> {Uri uri = Uri.parse(url);Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);});

WebView按返回键

  @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {if (getBinding().web.getWebView().canGoBack()) {//若可以后退,则后退goBack();return true;}}return super.onKeyDown(keyCode, event);}

android WebView多标签,加速解决卡顿,视频播放笔记相关推荐

  1. Premiere高分辨率视频代理加速预览解决卡顿ProxyPresets v3版PR预设下载

    Premiere高分辨率视频代理加速预览解决卡顿ProxyPresets v3版PR预设下载 200多个Premiere pro cc代理预设,85种摄像机.只需在列表中选择您的代理预设,然后开始创建 ...

  2. Macbook 安装Android Studio以及解决卡顿问题

    安装JDK,参考文章 http://blog.csdn.net/lzp2015/article/details/78307623 1. 下载AndroidStudio及SDK 下载地址:http:// ...

  3. APP启动应用优化加速和卡顿

    APP启动应用优化加速和卡顿 一:应用启动类型 1冷启动 应用自启动后,或系统终止应用后的首次启动 2暖启动 如:应用退出应用,又重新启动,程序可能已经运行,但需要重新创建acitivity.或者进程 ...

  4. Android主线程耗时动画卡顿,Android性能优化实战之界面卡顿

    原标题:Android性能优化实战之界面卡顿 作者:红橙Darren https://www.jianshu.com/p/18bb507d6e62 今天是个奇怪的日子,有三位同学找我,都是关于界面卡顿 ...

  5. android8卡顿,看完就明白为什么安卓手机卡顿,这个技巧教你解决卡顿

    原标题:看完就明白为什么安卓手机卡顿,这个技巧教你解决卡顿 Android由源代码开放,所以安卓手机拥有更多的黑科技功能.很多安卓用户觉得手机卡顿,其实是没有好好利用这些神奇功能.下面笔者就为大家介绍 ...

  6. Android webview 写入cookie的解决方法以及一些属性设置

    Android webview 写入cookie的解决方法以及一些属性设置 参考文章: (1)Android webview 写入cookie的解决方法以及一些属性设置 (2)https://www. ...

  7. 彻底解决 intellij IDEA 卡顿 优化笔记

    由于工作中经常出现分支各种切换,使用Eclipse便不再像以前那么舒服了,不停的修改工作空间,每次修改完工作空间又是一堆一堆的个性化设置,来回的切换,真的很累.我们做软件的,怎么能不去尝试新鲜的呢,毕 ...

  8. android 播放音乐卡顿,Android MediaPlayer+SeekBar播放音频出现卡顿边长可能问题

    开发过程中总是会碰到一些"什么鬼,原来这么简单"等等的问题,比如今天碰到 Android MediaPlayer+SeekBar播放音频出现卡顿可能问题? 代码段一: seekBa ...

  9. rtmp时间戳pts、dts矫正解决卡顿快放慢放问题与倍速播放的实现

    rtmp时间戳pts.dts矫正解决卡顿快放慢放问题与倍速播放的实现 问题分析与解决思路 控流思路 倍速播放思路 实现方式 1.控流,矫正pts.dts来解决播放卡顿,画面抖动等问题.匀速推流 2.倍 ...

最新文章

  1. randomAccessFile
  2. 可交互的对抗网络如何增强人类创造力?
  3. 十五个常用的 Laravel 集合(Collection)
  4. Tensorflow yolov3 Intel Realsense D435 识别时间测试
  5. ARP协议抓包分析 -- wireshark
  6. 西北农林科技大学 计算机复试,西北农林科技大学 | 学长学姐考研面试经验谈...
  7. 古典人物海报设计PSD分层模板,浓郁国风,展古典韵味
  8. Hello can not find git path
  9. OPPO R17忘记用户账户密码强制清除登录账号
  10. 欢迎使用CSDN-markdown编辑器萨达所大所大所大所
  11. mysql中desc
  12. Windows 10免费升级
  13. Win实用 优秀 软件清单推荐
  14. HTML正方体滚动特效
  15. [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush
  16. [转]阿里云的这群疯子
  17. 任意角度旋转图片的ground truth目标检测框
  18. linux 命令 修改密码,一条命令修改Linux密码
  19. 4864: [BeiJing 2017 Wc]神秘物质
  20. 【学习笔记】到底是谁先开枪?——网络游戏同步机制初探

热门文章

  1. HarmonyOS实战—实现相亲APP
  2. 树莓派系统最新系统镜像Bullseye更换镜像源
  3. Xilinx FPGA “打一拍”“打两拍”以及IOB含义
  4. 机器人系统的基本概念及外部模型参数详解
  5. WPF开发人员必读:WPF控件测试台
  6. 网贴翻译 聆听国外的声音
  7. mysql查询当前用户中所有的表空间_oracle 查看用户所在的表空间
  8. xiuno开发文档_XiunoPHP4.0开发手册 | 雷雨博客
  9. win10 快速批量删除快速访问下的文件夹记录
  10. 多媒体——音频——利用MediaRecorder录制音频