Pārlūkot izejas kodu

feat: getResources性能问题

XiaodongLin 10 mēneši atpakaļ
vecāks
revīzija
b3d83f491c

+ 10 - 3
app/src/main/java/com/adealink/weparty/commonui/BaseActivity.kt

@@ -5,6 +5,7 @@ import android.content.Intent
 import android.content.res.Resources
 import android.os.Build
 import android.os.Bundle
+import android.os.SystemClock
 import android.view.View
 import android.view.ViewGroup
 import androidx.annotation.ColorRes
@@ -18,7 +19,6 @@ import com.adealink.frame.aab.util.getCompatString
 import com.adealink.frame.aab.util.installSplitCompat
 import com.adealink.frame.apm.apmService
 import com.adealink.frame.locale.language.languageManager
-import com.adealink.frame.log.Log
 import com.adealink.frame.router.Router
 import com.adealink.frame.router.manager.deeplinkRouterManager
 import com.adealink.frame.util.isActivityInValid
@@ -208,12 +208,19 @@ open class BaseActivity : AppCompatActivity() {
         return false
     }
 
+    //避免频繁执行
+    private var hasAutoSize = false
     override fun getResources(): Resources {
+        val resources = super.getResources()
+        if (hasAutoSize) {
+            return resources
+        }
         try {
-            AutoSizeCompat.autoConvertDensityOfGlobal(super.getResources());//如果没有自定义需求用这个方法
+            AutoSizeCompat.autoConvertDensityOfGlobal(resources);//如果没有自定义需求用这个方法
+            hasAutoSize = true
         } catch (e: Exception) {
 
         }
-        return super.getResources()
+        return resources
     }
 }