chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Camera應(yīng)用旋轉(zhuǎn)預(yù)覽拉伸Bug:RK3588+Android 12環(huán)境下的復(fù)現(xiàn)、分析與臨時解決方案

jf_44130326 ? 來源:Linux1024 ? 2026-02-04 16:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在移動設(shè)備Camera應(yīng)用開發(fā)中,預(yù)覽畫面穩(wěn)定性直接影響用戶拍攝體驗。近期我們在RK3588芯片平臺+ Android 12系統(tǒng)環(huán)境下調(diào)試時,發(fā)現(xiàn)Camera2應(yīng)用存在高概率預(yù)覽拉伸Bug——當(dāng)用戶多次旋轉(zhuǎn)屏幕后,預(yù)覽圖像會出現(xiàn)明顯變形,而關(guān)閉系統(tǒng)自動旋轉(zhuǎn)功能后,該問題可有效規(guī)避。今天我們就結(jié)合該硬件與系統(tǒng)環(huán)境,詳細(xì)拆解Bug的現(xiàn)象、根源及臨時解決方案,為同平臺開發(fā)者提供參考。

一、Bug核心現(xiàn)象與復(fù)現(xiàn)路徑(RK3588+Android 12

BugRK3588芯片驅(qū)動的Android 12設(shè)備上表現(xiàn)尤為明顯,核心特征是旋轉(zhuǎn)屏幕后Camera預(yù)覽圖像拉伸,復(fù)現(xiàn)概率接近100%,具體操作步驟如下:

1.首次操作:打開Camera2應(yīng)用手動旋轉(zhuǎn)屏幕(任意角度,觸發(fā)設(shè)備重力感應(yīng))完全退出Camera應(yīng)用(確保進(jìn)程未后臺駐留);

2.二次操作:再次啟動Camera2應(yīng)用再次旋轉(zhuǎn)屏幕(與首次旋轉(zhuǎn)角度可相同,如均為270°高概率觸發(fā)預(yù)覽圖像拉伸(對比正常場景,預(yù)覽區(qū)域尺寸與比例異常)。

實際測試驗證:在同一RK3588+Android 12設(shè)備上,關(guān)閉系統(tǒng)自動旋轉(zhuǎn)功能后,重復(fù)上述操作,預(yù)覽拉伸現(xiàn)象完全消失——這表明BugRK3588平臺上Android 12系統(tǒng)傳遞的旋轉(zhuǎn)事件強(qiáng)相關(guān),且該環(huán)境下重力感應(yīng)事件對Camera應(yīng)用的影響更顯著。

二、關(guān)鍵日志拆解:RK3588+Android 12下的預(yù)覽計算異常

為定位根源,我們提取了RK3588+Android 12環(huán)境下Bug觸發(fā)時的關(guān)鍵日志(旋轉(zhuǎn)角度270°,預(yù)覽拉伸場景),通過日志可清晰看到預(yù)覽區(qū)域(previewRect)計算存在明顯偏差,且與平臺系統(tǒng)的參數(shù)傳遞邏輯直接相關(guān):

wKgZO2kamRmADB7VAAA4KcOfTP0043.png

異常點(diǎn)分析(基于RK3588+Android 12特性):

RK3588平臺對屏幕旋轉(zhuǎn)的事件傳遞機(jī)制與其他芯片略有差異——Android 12系統(tǒng)下,該平臺會更頻繁地向應(yīng)用推送旋轉(zhuǎn)狀態(tài)更新,即使旋轉(zhuǎn)角度未實際變化(如重復(fù)旋轉(zhuǎn)至270°)。日志中雖顯示預(yù)覽區(qū)域?qū)捀弑龋?/span>1344:1008=4:3)與設(shè)定的previewAspectRatio一致,但因:

旋轉(zhuǎn)角度(rotation=270°)與RK3588平臺的預(yù)覽方向(mDisplayOrientation=0°)未同步,導(dǎo)致CaptureLayoutHelper.javagetPositionConfiguration方法計算的預(yù)覽渲染區(qū)域實際屏幕顯示區(qū)域錯位,最終在Android 12UI渲染機(jī)制下呈現(xiàn)拉伸效果。

三、初步排查:旋轉(zhuǎn)事件處理的認(rèn)知與驗證(RK3588+Android 12

針對該Bug,我們最初假設(shè):Camera應(yīng)用無需接收RK3588傳感器傳遞的旋轉(zhuǎn)信息——因部分手機(jī)Camera應(yīng)用旋轉(zhuǎn)時預(yù)覽正常,且旋轉(zhuǎn)不影響拍攝邏輯。為驗證該假設(shè),我們在RK3588+Android 12環(huán)境下進(jìn)行了測試:

1.測試操作:修改

Camera2srccomandroidcameraappOrientationManagerImpl.java,屏蔽接收傳感器旋轉(zhuǎn)信息的邏輯;

2.測試結(jié)果:即使屏蔽旋轉(zhuǎn)信息接收,Camera應(yīng)用仍會響應(yīng)RK3588平臺的屏幕旋轉(zhuǎn)事件,預(yù)覽拉伸Bug依舊存在;

3.關(guān)鍵發(fā)現(xiàn):在同一設(shè)備上關(guān)閉系統(tǒng)自動旋轉(zhuǎn)功能后,Android 12系統(tǒng)不再向Camera應(yīng)用推送旋轉(zhuǎn)事件,Bug復(fù)現(xiàn)率從100%降至0——這說明:Bug誘因并非“Camera主動接收傳感器信息,而是“RK3588+Android 12下,系統(tǒng)自動旋轉(zhuǎn)開啟時多次傳遞旋轉(zhuǎn)事件,導(dǎo)致預(yù)覽布局計算參數(shù)混亂。

四、臨時解決方案:關(guān)閉自動旋轉(zhuǎn),快速規(guī)避問題(RK3588+Android 12

目前在RK3588芯片+ Android 12系統(tǒng)的設(shè)備上,已驗證有效的臨時規(guī)避方案如下,適用于用戶臨時使用及同平臺測試驗證:

1.操作步驟

打開Camera2應(yīng)用前,通過系統(tǒng)設(shè)置(或下拉通知欄快捷開關(guān))關(guān)閉自動旋轉(zhuǎn)功能;

2.適配原理

關(guān)閉自動旋轉(zhuǎn)后,Android 12系統(tǒng)不再向Camera應(yīng)用傳遞RK3588平臺的旋轉(zhuǎn)事件,CaptureLayoutHelper.java中的預(yù)覽計算參數(shù)(rotation、窗口寬高)保持穩(wěn)定,避免因參數(shù)頻繁變化導(dǎo)致的適配錯誤;

3.實際效果

RK3588+Android 12設(shè)備上,重復(fù)原復(fù)現(xiàn)步驟,預(yù)覽畫面始終保持4:3比例,無任何拉伸現(xiàn)象。

五、后續(xù)優(yōu)化方向:聚焦布局計算與旋轉(zhuǎn)事件同步(RK3588+Android 12

臨時方案可解決當(dāng)前痛點(diǎn),但長期需結(jié)合RK3588平臺特性與Android 12系統(tǒng)機(jī)制,從代碼層面修復(fù)根本問題,核心優(yōu)化方向有兩個:

1.修復(fù)CaptureLayoutHelper.java的預(yù)覽區(qū)域計算邏輯(適配RK3588+Android 12

針對RK3588平臺的旋轉(zhuǎn)事件傳遞特性,在getPositionConfiguration方法中強(qiáng)化參數(shù)聯(lián)動:

?當(dāng)RK3588平臺傳遞旋轉(zhuǎn)角度變化時,強(qiáng)制同步更新mDisplayOrientation(預(yù)覽方向),避免兩者數(shù)值不一致;

?適配Android 12的窗口管理機(jī)制,增加“RK3588橫屏/豎屏切換時的寬高適配邏輯,確保預(yù)覽區(qū)域?qū)捀弑扰cpreviewAspectRatio嚴(yán)格匹配,不受平臺旋轉(zhuǎn)事件延遲影響。

2.優(yōu)化OrientationManagerImpl.java的旋轉(zhuǎn)事件過濾(適配RK3588+Android 12

RK3588+Android 12下系統(tǒng)會推送大量重復(fù)旋轉(zhuǎn)事件(如同一角度多次推送),需增加過濾邏輯:

?僅接收有效旋轉(zhuǎn)事件(如旋轉(zhuǎn)角度變化≥90°),避免頻繁觸發(fā)updatePositionConfiguration(預(yù)覽布局重算);

?檢測到系統(tǒng)自動旋轉(zhuǎn)關(guān)閉時,主動屏蔽RK3588平臺的所有旋轉(zhuǎn)事件,防止參數(shù)混亂。

總結(jié)

本次在RK3588芯片+ Android 12系統(tǒng)上發(fā)現(xiàn)的Camera預(yù)覽拉伸Bug,本質(zhì)是平臺旋轉(zhuǎn)事件傳遞預(yù)覽布局計算的聯(lián)動異常——RK3588的高頻旋轉(zhuǎn)事件結(jié)合Android 12的渲染機(jī)制,導(dǎo)致關(guān)鍵參數(shù)(rotation、mDisplayOrientation)不同步,最終引發(fā)預(yù)覽拉伸。當(dāng)前關(guān)閉系統(tǒng)自動旋轉(zhuǎn)可快速規(guī)避問題,后續(xù)需結(jié)合該平臺與系統(tǒng)特性,優(yōu)化布局計算邏輯與旋轉(zhuǎn)事件過濾,從根本上保障用戶旋轉(zhuǎn)屏幕時的預(yù)覽穩(wěn)定性。

若你在RK3588+Android 12或其他平臺調(diào)試Camera應(yīng)用時遇到類似問題,歡迎分享場景細(xì)節(jié)!


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4023

    瀏覽量

    133956
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    646

    瀏覽量

    35633
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    555

    瀏覽量

    7314
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列開發(fā)板受到廣大開發(fā)者伙伴的關(guān)注和問詢。針對相關(guān)的開發(fā)板功能、操作指南等問題,我們一
    的頭像 發(fā)表于 09-22 15:54 ?2.3w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b>開發(fā)板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    RK3588 Android+Linux雙系統(tǒng)方案的實現(xiàn)

    linux和android分區(qū)表中需要用"_android"字段來區(qū)分。 硬件環(huán)境 基于RK3588 EVB1 開發(fā)板 實現(xiàn),系統(tǒng)切換按鍵是ESC 返回鍵 軟件
    的頭像 發(fā)表于 10-10 14:25 ?1.1w次閱讀
    <b class='flag-5'>RK3588</b> <b class='flag-5'>Android</b>+Linux雙系統(tǒng)<b class='flag-5'>方案</b>的實現(xiàn)

    RK3588-Camera:MIPI-CSI調(diào)試之通路解析

    RK3588-Camera:MIPI-CSI調(diào)試之通路解析
    的頭像 發(fā)表于 06-10 10:29 ?7480次閱讀
    <b class='flag-5'>RK3588-Camera</b>:MIPI-CSI調(diào)試之通路解析

    求一種基于RK3588實現(xiàn)SPI-NOR大容量存儲方案

    寫工具:瑞芯微開發(fā)工具需要V2.93及以上版本軟件實現(xiàn)軟件基于RK3588 Android12 SDK實現(xiàn),啟動流程如下圖原作者:loitawu
    發(fā)表于 05-23 14:20

    介紹一種RK3588 Android SDK編譯方法的使用

    :~/3_Android12_29_debug$ source build/envsetup.shlunch 選擇需要編譯的產(chǎn)品,這里以rk3588_s產(chǎn)品為例說明wlq@sys2_206
    發(fā)表于 05-23 14:27

    如何實現(xiàn)基于RK3588Android系統(tǒng)與Linux系統(tǒng)切換呢

    linux和android分區(qū)表中需要用"_android"字段來區(qū)分。硬件環(huán)境基于RK3588 EVB1開發(fā)板實現(xiàn),系統(tǒng)切換按鍵是ESC 返回鍵軟件
    發(fā)表于 05-26 10:16

    分享一基于RK3588打造高端智慧大屏的產(chǎn)品解決方案

    大屏項目也已經(jīng)開始落地,RK3588在智慧大屏場景有很強(qiáng)的產(chǎn)品競爭力,在此跟大家分享一基于RK3588打造高端智慧大屏的產(chǎn)品解決方案?! ∑胀ǖ闹悄茈娨晫嶋H是電視盒子和傳統(tǒng)電視的結(jié)合
    發(fā)表于 07-26 16:37

    RK3588S(Android 12) M.2接口的配置與使用手冊指南

    1、ROC-RK3588S-PC (Android 12) M.2接口的配置與使用ROC-RK3588S-PC 開發(fā)板上有 1 個 M.2 接口:可以軟件配置成 M.2 SATA3.0
    發(fā)表于 08-18 17:32

    RK3588 Android系統(tǒng)編譯命令

    rk3588 代碼kernel內(nèi)核版本是5.10,Android 12,編譯命令如下:source build/envsetup.shlunch rk3588
    發(fā)表于 09-20 16:55

    RK3588 Android 12.0 SDK編譯步驟分享

    rk3588sevb1-lp4x-v10.img -j24單獨(dú)編譯uboot$ ./make.sh rk35882、固件燒寫升級工具版本:AndroidTool_Release_v2.84USB驅(qū)動版本:Driver
    發(fā)表于 09-20 17:11

    請問如何讓rk3588 android像平板一樣整個Ui重力感應(yīng)旋轉(zhuǎn)屏幕呢?

    請問如何讓rk3588 android像平板一樣整個Ui重力感應(yīng)旋轉(zhuǎn)屏幕?自己做的底板上已添加了sensor(icm2060x_acc),rk3588上的app可以自由隨sensor
    發(fā)表于 03-29 14:10

    RK35883588s的區(qū)別

    RK35883588s的區(qū)別 Rockchip RK3588RK3588s是兩種功能強(qiáng)大且廣受歡迎的片上系統(tǒng)(SoC)解決方案,用于一系
    的頭像 發(fā)表于 08-15 17:03 ?2.9w次閱讀

    迅為RK3588開發(fā)板Android12動態(tài)替換開機(jī)logo

    迅為RK3588開發(fā)板Android12動態(tài)替換開機(jī)logo
    的頭像 發(fā)表于 11-15 15:04 ?1767次閱讀
    迅為<b class='flag-5'>RK3588</b>開發(fā)板<b class='flag-5'>Android12</b>動態(tài)替換開機(jī)logo

    RK3588主板/開發(fā)板Android12系統(tǒng)APK簽名文件生成的方法,干貨滿滿

    本文介紹瑞芯微RK3588主板/開發(fā)板Android12系統(tǒng),APK簽名文件生成方法。觸覺智能RK3588開發(fā)板演示,音視頻接口、通信接口等一應(yīng)俱全,幫助企業(yè)提高產(chǎn)品開發(fā)效率,縮短上
    的頭像 發(fā)表于 12-12 10:38 ?1500次閱讀
    <b class='flag-5'>RK3588</b>主板/開發(fā)板<b class='flag-5'>Android12</b>系統(tǒng)APK簽名文件生成的方法,干貨滿滿

    技術(shù)分享|iTOP-RK3588開發(fā)板Ubuntu20系統(tǒng)旋轉(zhuǎn)屏幕方案

    技術(shù)分享|iTOP-RK3588開發(fā)板Ubuntu20系統(tǒng)旋轉(zhuǎn)屏幕方案
    的頭像 發(fā)表于 04-18 15:19 ?1328次閱讀
    技術(shù)分享|iTOP-<b class='flag-5'>RK3588</b>開發(fā)板Ubuntu20系統(tǒng)<b class='flag-5'>旋轉(zhuǎn)</b>屏幕<b class='flag-5'>方案</b>