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();

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

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

  • 相关阅读:
    Java反射
    浅谈page,request,session,application四种范围
    使用MySQL连接池
    SQL注入漏洞的演示及解决办法
    JDBC工具类的提取
    JDBC使用过程
    MYSQL常用函数
    MySQL数据操作
    MySQL存储引擎
    Python核心技术与实战——六|异常处理
  • 原文地址:https://www.cnblogs.com/xirtam/p/3394723.html
Copyright © 2011-2022 走看看