我创建的应用程序显示HTML5视频,用于学习使用Floating WebView
的Android编程。
即使在已升级WebView
的设备上,它也会表现得非常不稳定。
(我使用棒棒糖动力的Nexus 5)
当它附加在Activity(不浮动)上时,它会执行黄油光滑。
即使它是浮动的,当任何WebView
置于当前活动时,它也会顺利执行。
但是,如果当前活动中没有像发射器这样的WebView
,那么它会表现得非常缓慢和紧张。
以下是我使用的代码的一部分:
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
WebView = new WebView();
WindowManager.LayoutParams paramsRL = new WindowManager.LayoutParams(
800,
450,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
PixelFormat.TRANSLUCENT);
paramsRL.gravity = Gravity.TOP | Gravity.LEFT;
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.loadUrl("html5_video_page_URL_here");
windowManager.addView(webView,paramsRL);
是否有解决此问题的解决方法?
修改 添加了视频说明此行为:http://youtu.be/BPDxzRRO1N8 当附加到某个活动时,它会执行黄油顺利:http://youtu.be/aQcJRPCZWYs 在Kitkat,至少是三星Galaxy,它表现得很柔和:http://youtu.be/7Dw0tJ67eJw
我还提交了一个错误 https://code.google.com/p/chromium/issues/detail?id=460440
答案 0 :(得分:0)
您可以添加
webView.setLayerType(WebView.LAYER_TYPE_HARDWARE, null);
希望帮助你
答案 1 :(得分:-1)
我一直在研究使用浮动视频播放器的应用程序,我遇到了同样的问题。我没有找到问题的根本原因,但我摆脱了这个问题。
我有一个启动浮动视频播放器的活动(基本上是一个使用TYPE_SYSTEM_ALERT类型的服务),当我添加一个由活动启动的通知播放器时(类似于Spotify使用的通知播放器),问题就消失了。
正如我所说,我无法确定问题的根本原因,但似乎只要活动开始的活动或某事是“活跃的”(我正在松散地使用活动一词),问题不会发生,Webview将按预期运行。