zoukankan      html  css  js  c++  java
  • android 2.2 videoView 诡异bug

    最近遇到一个问题,在2.2系统上,公司项目中使用VideoView,第一次播放正常,第二次播放黑屏。

    由于公司项目使用lua + android 原生,所以试了下原生的android 的VideoView ,是没有问题的。

    而公司的代码在大部分4.0以上设备上是正常的。

    经几天的测试研究,发现在VideoView 第二次 play黑屏之后,调用一次view树的invalidate即可。坑死人的bug。

    注意不能直接在VideoView 的start之后马上调用invalidate,应该是由于播放的时候会稍微卡住一段时间

    我的方案是在调用start之后,执行下面的代码

    new Thread(){
                    @Override
                    public void run() {
                        try {
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                        MainActivity.mContext.runOnUiThread(new Runnable() {
                            
                            @Override
                            public void run() {
                                System.out.println("xirtam invalidate");
                                MainActivity.mRootView.invalidate();
                            }
                        });
                    }
                }.start();

    暂时没有发现更好的解决方案。

    有遇到过的可以分享一下经验。

  • 相关阅读:
    ios外包公司——技术分享:IOS开发教程
    ios外派—本公司长年提供ios程序员外派业务(北京动点软件,可签合同)
    mysql
    mysql
    mysql
    mysql
    mysql
    一些学习网站
    java 之 枚举(Enum)
    .net core
  • 原文地址:https://www.cnblogs.com/xirtam/p/3394723.html
Copyright © 2011-2022 走看看