SurfaceView 閃屏 閃現(xiàn)黑塊 及黑線問題解決

1、為什么要用SurfaceView

項目中經(jīng)常會出現(xiàn)多個自定義View,并且可能會多次且頻繁的調(diào)用canvas進行繪制。當優(yōu)化還是無法解決界面繪制時卡頓掉幀現(xiàn)象時,我們可以考慮用SurfaceView來解決。它繼承自View類,但是內(nèi)部實現(xiàn)了雙buffer并且是在一個單獨的線程中進行進行繪制最后再post canvas到UI上。關(guān)于他的內(nèi)部細節(jié)可以參考Android SurfaceView雙緩存機制以及Android SurfaceView 源碼分析及使用

2、如何解決 SurfaceView 閃屏 以及 滑動時產(chǎn)生的黑線問題

2.1 閃屏問題

setBackgroundColor(Color.argb(0x00, 0, 0, 0));
mSurfaceHolder.setFormat(PixelFormat.TRANSPARENT);
//如果無法解決

xml 中 自定義view 設(shè)置 android:background="#fff"

2.2 滑動時上下兩邊產(chǎn)生的黑線問題

android:layout_marginBottom="-xxdp"
android:layout_marginTop="-xxdp"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評論 25 709
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,323評論 0 17
  • 介紹自己負責的部分,如何實現(xiàn)的。 框架的搭建排查問題以及結(jié)解決方式兼容性保證性能優(yōu)化上線之后模塊導致crash的比...
    黃海佳閱讀 13,390評論 6 350
  • 放手去做,你就會擁有力量。 一聽名字就顯得很雞湯的一本書。應(yīng)該算是成功學的書籍了把。 就這本書而言,有一些內(nèi)容和前...
    更欣閱讀 208評論 0 18
  • 2016年9月5日 21:25夜半無眠獨立溪畔徒增淚水漣漣 月落情殤愁眉緊鎖欲與君訴忠腸
    晴空Irena閱讀 254評論 2 3

友情鏈接更多精彩內(nèi)容