91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

wKgZO2kamRmADB7VAAA4KcOfTP0043.png

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

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

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

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

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

1.測(cè)試操作:修改

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

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

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

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

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

1.操作步驟

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

2.適配原理

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

3.實(shí)際效果

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

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

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

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

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

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

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

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

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

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

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

總結(jié)

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

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


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

    關(guān)注

    12

    文章

    4026

    瀏覽量

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

    關(guān)注

    7

    文章

    646

    瀏覽量

    35682
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    556

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列開發(fā)板受到廣大開發(fā)者伙伴的關(guān)注和問詢。針對(duì)相關(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)方案的實(shí)現(xiàn)

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

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

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

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

    寫工具:瑞芯微開發(fā)工具需要V2.93及以上版本軟件實(shí)現(xiàn)軟件基于RK3588 Android12 SDK實(shí)現(xiàn),啟動(dòng)流程如下圖原作者: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

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

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

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

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

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

    1、ROC-RK3588S-PC (Android 12) M.2接口的配置與使用ROC-RK3588S-PC 開發(fā)板上有 1 個(gè) 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、固件燒寫升級(jí)工具版本:AndroidTool_Release_v2.84USB驅(qū)動(dòng)版本:Driver
    發(fā)表于 09-20 17:11

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

    請(qǐng)問如何讓rk3588 android像平板一樣整個(gè)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動(dòng)態(tài)替換開機(jī)logo

    迅為RK3588開發(fā)板Android12動(dòng)態(tài)替換開機(jī)logo
    的頭像 發(fā)表于 11-15 15:04 ?1780次閱讀
    迅為<b class='flag-5'>RK3588</b>開發(fā)板<b class='flag-5'>Android12</b>動(dòng)態(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 ?1513次閱讀
    <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 ?1347次閱讀
    技術(shù)分享|iTOP-<b class='flag-5'>RK3588</b>開發(fā)板Ubuntu20系統(tǒng)<b class='flag-5'>旋轉(zhuǎn)</b>屏幕<b class='flag-5'>方案</b>