首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 圖片經 SVN 上傳後尺寸變小變清晰之謎

     編輯:程式設計綜合問答

現象描述

開發者將 UI 介面圖片提交至 SVN,隔天更新後發現圖片顯示變小但更清晰。本地原圖未經 SVN 時顯示正常大小。懷疑是團隊成員對上傳資源進行了處理。

SVN 本身不會修改檔案內容

Subversion (SVN) 是版本控制系統,僅負責儲存與傳輸檔案位元組,不會主動壓縮、縮放或轉換圖片格式。若檔案在倉庫中發生變化,必定是人為操作導致。

可能原因排查

  1. 建置腳本/自動化流程:專案是否配置了建置前/後腳本(如 Gradle task、Maven plugin、CI/CD pipeline),在編譯階段對 res/drawable 或 assets 進行圖片優化(如 pngcrush、WebP 轉換、aapt 壓縮)?
  2. IDE 匯出/建置差異:Android Studio / Gradle 在打包 APK 時預設啟用 aaptOptions.cruncherEnabled = true,會無損壓縮 PNG。若隊友使用不同建置工具鏈,輸出結果可能不同。
  3. 手動替換:團隊成員可能下載原圖、使用工具(如 TinyPNG、ImageOptim)優化後重新提交。
  4. 圖片載入庫行為:Glide、Picasso、Coil 等載入庫可能根據 ImageView 尺寸自動縮放解碼(inSampleSize),導致顯示尺寸不同,但源檔未變。

驗證方法

  1. 直接從 SVN 倉庫瀏覽器(如 TortoiseSVN Repo-browser)下載該版本圖片,用十六進位編輯器或 file 指令檢查檔案頭、尺寸、大小是否與本地原圖一致。
  2. 對比提交紀錄(svn log -v),確認是哪位成員、哪個版本修改了該圖片。
  3. 檢查 build.gradle、pom.xml、CI 設定檔(Jenkinsfile, .gitlab-ci.yml 等)是否有圖片處理任務。

結論

SVN 不會自動改變圖片。請檢查建置流程、團隊提交紀錄或圖片載入邏輯,找出真正修改源頭。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved