欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android切換至SurfaceView時閃屏(黑屏閃一下)以及黑屏移動問題的解決方法

 更新時間:2017年01月03日 15:02:12   作者:Joanna.Yan  
本文主要介紹了Android切換至SurfaceView時閃屏(黑屏閃一下)以及黑屏移動問題的解決方法。具有一定的參考作用,下面跟著小編一起來看下吧

1.最近的項目中,有一個Activity用到Fragment+ViewPager,其中一個fragment中實現(xiàn)了視頻播放的功能,包含有SurfaceView。結果,每次打開程序第一次進入到該Activity時都會閃屏黑一下。原因就出在SurfaceView。

詳解:

  I think I found the reason for the black flash. In my case I'm using a SurfaceView inside a Fragment and dynamically adding this fragment to the activity after some action. The moment when I add the fragment to the activity, the screen flashes black. I checked out grepcode for the SurfaceView source and here's what I found: when the surface view appears in the window the very fist time, it requests the window's parameters changing by calling a private IWindowSession.relayout(..) method. This method “gives” you a new frame, window, and window surface. I think the screen blinks right at that moment.
   The solution is pretty simple: if your window already has appropriate parameters it will not refresh all the window's stuff and the screen will not blink. The simplest solution is to add a 0px height plain SurfaceView to the first layout of your activity. This will recreate the window before the activity is shown on the screen, and when you set your second layout it will just continue using the window with the current parameters. I hope this helps.

原因:

SurfaceView因為不同于一般的view,它有自己良好的緩沖以及數(shù)據(jù)存取機制,系統(tǒng)對他有特殊處理。當surfaceview第一次在當前activity上添加的時候,系統(tǒng)會給WindowManager重新排布局,relayout,這樣就會黑一下,這個只會出現(xiàn)在第一次,以后再添加surfaceview時就不會黑屏了。

解決:

可以在沒有進入surfaceview的界面(比如很多程序一進去就有個Loading界面)的時候,在其它界面的layout.xml文件中添加一個SurfaceView,寬和高都弄成0dp,這樣對布局沒影響,而且這個東西使得surfaceview第一次出現(xiàn)了,那么也就是說,下一次我們真正用到SurfaceView的時候就不會閃屏了。

2.viewpager中有surfaceview播放視頻,來回滑屏時,關于黑屏移動問題

解決:

surfaceview.setZorderTop(true);

surfaceview.getHolder().setFormat(SurfaceView.TRANSPARENT);

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關文章

  • 詳解Android Material Design自定義動畫的編寫

    詳解Android Material Design自定義動畫的編寫

    這篇文章主要介紹了詳解Android Material Design自定義動畫的編寫,其中對Activity的過渡動畫進行了重點講解,需要的朋友可以參考下
    2016-04-04
  • android studio 4.0 新建類沒有修飾符的方法

    android studio 4.0 新建類沒有修飾符的方法

    這篇文章主要介紹了android studio 4.0 新建類沒有修飾符的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 關于Android Fragment對回退棧的詳細理解

    關于Android Fragment對回退棧的詳細理解

    這篇文章主要介紹了Android  Fragment的回退棧示例詳細介紹的相關資料,在Android中Fragment回退棧是由Activity管理的,每個Activity都有自己的回退棧,其中保存了已經停止(處于后臺)的Fragment實例,需要的朋友可以參考下
    2016-12-12
  • android 把float轉換成Int的實例講解

    android 把float轉換成Int的實例講解

    今天小編就為大家分享一篇android 把float轉換成Int的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 解決android報錯:Intel HAXM is required to run this AVD

    解決android報錯:Intel HAXM is required to run this AVD

    這篇文章主要介紹了解決android報錯:Intel HAXM is required to run this AVD,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Android中的Intent Filter匹配規(guī)則簡介

    Android中的Intent Filter匹配規(guī)則簡介

    這篇文章主要為大家詳細介紹了Android中的Intent Filter匹配規(guī)則,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android實現(xiàn)鬧鐘功能小Dome

    Android實現(xiàn)鬧鐘功能小Dome

    本篇文章主要介紹了Android實現(xiàn)鬧鐘功能小Dome,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Android實現(xiàn)自動點擊無障礙服務功能的實例代碼

    Android實現(xiàn)自動點擊無障礙服務功能的實例代碼

    這篇文章主要介紹了Android實現(xiàn)自動點擊無障礙服務功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • android 9PNG圖片制作過程(圖文介紹)

    android 9PNG圖片制作過程(圖文介紹)

    我們想要是有些圖片可以拉伸而不失真多好啊,這時候我們就要想起android為我們提供的9.png格式的圖片了,9.png格式的圖片是安卓平臺上新創(chuàng)的一種被拉伸卻不失真的玩意
    2013-01-01
  • ActivityManagerService廣播并行發(fā)送與串行發(fā)送示例解析

    ActivityManagerService廣播并行發(fā)送與串行發(fā)送示例解析

    這篇文章主要為大家介紹了ActivityManagerService廣播并行發(fā)送與串行發(fā)送示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論