發表文章

舊有app在Android 12 閃退問題& app Splash screens

圖片
現在越來越多手機開始轉成android 12. 於是我就把target sdk = 31 試試看. android {       compileSdkVersion 31      defaultConfig {           targetSdkVersion 31      } } 結果舊有的app都開始發生了閃退現象. 就有使用者跟我反映app當機問題出現.因為這屬於不可歸咎app設計的問題..必須要在android 12的機器上跑才會發生,而且android developer console中Pre-launch report 也沒測試出問題. 但一跑android 12模擬器就會發生當機,所以真的會有問題. 只能說寫app要處理的突發情況有很多,這是其一. android app發佈控制台好的地方是當你上傳apk時,他都會幫你自動做Pre-launch 測試. 這次android 12會突然當機的問題,理應要先被Pre-launch 被發現才對. 我檢查後才發現,原來連Pre-launch都沒測試到最新的android 12. 他只測試到android 11. 但目前很多新機子已經開始系統更新到android 12去了.這就是問題會發生的原因. ---- error message: java.lang.IllegalArgumentException: com.mark.electricitybillcalculator: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.     Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles. Solution: 修正android 12上當機閃退問